From 859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 18 Feb 2021 10:34:06 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-9-stable-ee --- .../alert_details/components/alert_details.vue | 392 +++++++++++++++++++++ .../alert_details/components/alert_metrics.vue | 56 +++ .../alert_details/components/alert_sidebar.vue | 86 +++++ .../alert_details/components/alert_status.vue | 125 +++++++ .../alert_details/components/alert_summary_row.vue | 18 + .../components/sidebar/sidebar_assignee.vue | 38 ++ .../components/sidebar/sidebar_assignees.vue | 299 ++++++++++++++++ .../components/sidebar/sidebar_header.vue | 41 +++ .../components/sidebar/sidebar_status.vue | 120 +++++++ .../components/sidebar/sidebar_todo.vue | 149 ++++++++ .../components/system_notes/system_note.vue | 48 +++ .../vue_shared/alert_details/constants.js | 31 ++ .../fragments/alert_detail_item.fragment.graphql | 30 ++ .../mutations/alert_issue_create.mutation.graphql | 8 + .../mutations/alert_set_assignees.mutation.graphql | 25 ++ .../alert_sidebar_status.mutation.graphql | 3 + .../mutations/alert_todo_create.mutation.graphql | 10 + .../graphql/queries/alert_details.query.graphql | 11 + .../queries/alert_sidebar_status.query.graphql | 3 + .../javascripts/vue_shared/alert_details/index.js | 83 +++++ .../javascripts/vue_shared/alert_details/router.js | 13 + .../vue_shared/components/actions_button.vue | 3 +- .../vue_shared/components/alert_details_table.vue | 2 +- .../vue_shared/components/awards_list.vue | 4 +- .../vue_shared/components/blob_viewers/mixins.js | 2 +- .../components/blob_viewers/rich_viewer.vue | 2 +- .../components/blob_viewers/simple_viewer.vue | 2 +- .../vue_shared/components/clone_dropdown.vue | 2 +- .../components/color_picker/color_picker.vue | 61 ++-- .../javascripts/vue_shared/components/commit.vue | 8 +- .../components/content_viewer/content_viewer.vue | 4 +- .../content_viewer/viewers/image_viewer.vue | 8 +- .../content_viewer/viewers/markdown_viewer.vue | 3 +- .../date_time_picker/date_time_picker.vue | 3 +- .../date_time_picker/date_time_picker_input.vue | 2 +- .../components/diff_viewer/diff_viewer.vue | 4 +- .../viewers/image_diff/onion_skin_viewer.vue | 2 +- .../viewers/image_diff/swipe_viewer.vue | 2 +- .../diff_viewer/viewers/image_diff_viewer.vue | 6 +- .../components/diff_viewer/viewers/renamed.vue | 4 +- .../components/dismissible_feedback_alert.vue | 2 +- .../components/dropdown/dropdown_button.vue | 6 +- .../vue_shared/components/editor_lite.vue | 5 +- .../vue_shared/components/file_finder/index.vue | 4 +- .../vue_shared/components/file_finder/item.vue | 4 +- .../vue_shared/components/file_icon.vue | 10 +- .../javascripts/vue_shared/components/file_row.vue | 5 +- .../filtered_search_bar_root.vue | 9 +- .../store/modules/filters/actions.js | 2 +- .../store/modules/filters/index.js | 2 +- .../filtered_search_bar/tokens/label_token.vue | 5 +- .../filtered_search_bar/tokens/milestone_token.vue | 2 +- .../components/gfm_autocomplete/utils.js | 4 +- .../vue_shared/components/gl_modal_vuex.vue | 7 +- .../vue_shared/components/header_ci_component.vue | 10 +- .../vue_shared/components/help_popover.vue | 40 +-- .../issuable/issuable_header_warnings.vue | 2 +- .../components/issue/issue_milestone.vue | 2 +- .../components/issue/related_issuable_item.vue | 6 +- .../vue_shared/components/markdown/field.vue | 17 +- .../vue_shared/components/markdown/header.vue | 5 +- .../components/markdown/suggestion_diff.vue | 2 +- .../components/markdown/suggestion_diff_header.vue | 9 +- .../vue_shared/components/markdown/suggestions.vue | 16 +- .../vue_shared/components/markdown/toolbar.vue | 4 +- .../vue_shared/components/modal_copy_button.vue | 3 +- .../vue_shared/components/navigation_tabs.vue | 2 +- .../vue_shared/components/notes/system_note.vue | 8 +- .../paginated_table_with_search_and_tabs.vue | 8 +- .../project_selector/project_list_item.vue | 2 +- .../project_selector/project_selector.vue | 2 +- .../components/registry/code_instruction.vue | 2 +- .../vue_shared/components/registry/list_item.vue | 16 +- .../components/registry/registry_search.vue | 90 +++++ .../rich_content_editor/rich_content_editor.vue | 2 +- .../services/build_custom_renderer.js | 8 +- .../rich_content_editor/services/editor_service.js | 6 +- .../services/renderers/render_html_block.js | 4 +- .../rich_content_editor/services/sanitize_html.js | 2 +- .../components/runner_instructions/constants.js | 18 + .../queries/get_runner_platforms.query.graphql | 20 ++ .../graphql/queries/get_runner_setup.query.graphql | 16 + .../runner_instructions/runner_instructions.vue | 261 ++++++++++++++ .../components/settings/settings_block.vue | 45 +++ .../sidebar/collapsed_grouped_date_picker.vue | 2 +- .../vue_shared/components/sidebar/date_picker.vue | 6 +- .../components/sidebar/labels_select/base.vue | 17 +- .../sidebar/labels_select_vue/dropdown_button.vue | 2 +- .../labels_select_vue/dropdown_contents.vue | 2 +- .../dropdown_contents_create_view.vue | 2 +- .../dropdown_contents_labels_view.vue | 2 +- .../sidebar/labels_select_vue/dropdown_title.vue | 2 +- .../sidebar/labels_select_vue/dropdown_value.vue | 2 +- .../labels_select_vue/labels_select_root.vue | 19 +- .../sidebar/labels_select_vue/store/actions.js | 2 +- .../sidebar/labels_select_vue/store/mutations.js | 2 +- .../components/sidebar/multiselect_dropdown.vue | 2 +- .../queries/getIssueParticipants.query.graphql | 13 - .../queries/get_issue_participants.query.graphql | 19 + .../queries/get_mr_participants.query.graphql | 19 + .../queries/updateAssignees.mutation.graphql | 17 - .../update_issue_assignees.mutation.graphql | 21 ++ .../queries/update_mr_assignees.mutation.graphql | 21 ++ .../vue_shared/components/split_button.vue | 2 +- .../vue_shared/components/stacked_progress_bar.vue | 2 +- .../vue_shared/components/timezone_dropdown.vue | 2 +- .../vue_shared/components/todo_button.vue | 2 +- .../vue_shared/components/toggle_button.vue | 88 ----- .../vue_shared/components/tooltip_on_truncate.vue | 2 +- .../components/upload_dropzone/upload_dropzone.vue | 2 +- .../components/user_popover/user_popover.vue | 14 +- .../vue_shared/components/web_ide_link.vue | 2 +- .../vue_shared/directives/validation.js | 2 +- .../vue_shared/mixins/ci_pagination_api_mixin.js | 67 ---- .../vue_shared/mixins/related_issuable_mixin.js | 2 +- .../javascripts/vue_shared/plugins/global_toast.js | 2 +- .../vue_shared/security_reports/constants.js | 6 + .../security_reports/security_reports_app.vue | 108 +----- .../vue_shared/security_reports/store/getters.js | 2 +- .../vue_shared/security_reports/store/index.js | 4 +- .../security_reports/store/modules/sast/actions.js | 2 +- .../security_reports/store/modules/sast/index.js | 4 +- .../store/modules/sast/mutations.js | 2 +- .../store/modules/secret_detection/index.js | 4 +- .../vue_shared/security_reports/store/utils.js | 2 +- 125 files changed, 2377 insertions(+), 526 deletions(-) create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/alert_metrics.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/alert_summary_row.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignee.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignees.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_header.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_todo.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/components/system_notes/system_note.vue create mode 100644 app/assets/javascripts/vue_shared/alert_details/constants.js create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/fragments/alert_detail_item.fragment.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_issue_create.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_sidebar_status.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_todo_create.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_details.query.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_sidebar_status.query.graphql create mode 100644 app/assets/javascripts/vue_shared/alert_details/index.js create mode 100644 app/assets/javascripts/vue_shared/alert_details/router.js create mode 100644 app/assets/javascripts/vue_shared/components/registry/registry_search.vue create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/constants.js create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/graphql/queries/get_runner_platforms.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/graphql/queries/get_runner_setup.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/runner_instructions.vue create mode 100644 app/assets/javascripts/vue_shared/components/settings/settings_block.vue delete mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/getIssueParticipants.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/get_issue_participants.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/get_mr_participants.query.graphql delete mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/updateAssignees.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/update_issue_assignees.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/update_mr_assignees.mutation.graphql delete mode 100644 app/assets/javascripts/vue_shared/components/toggle_button.vue delete mode 100644 app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js (limited to 'app/assets/javascripts/vue_shared') diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue new file mode 100644 index 00000000000..bcea7ca654e --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue @@ -0,0 +1,392 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_metrics.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_metrics.vue new file mode 100644 index 00000000000..dd4faa03c00 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_metrics.vue @@ -0,0 +1,56 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue new file mode 100644 index 00000000000..a01bd462196 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue @@ -0,0 +1,86 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue new file mode 100644 index 00000000000..8d5eb24ed1d --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue @@ -0,0 +1,125 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_summary_row.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_summary_row.vue new file mode 100644 index 00000000000..13835b7e2fa --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_summary_row.vue @@ -0,0 +1,18 @@ + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignee.vue b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignee.vue new file mode 100644 index 00000000000..c39a72a45b9 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignee.vue @@ -0,0 +1,38 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignees.vue b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignees.vue new file mode 100644 index 00000000000..2a999b908f9 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_assignees.vue @@ -0,0 +1,299 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_header.vue b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_header.vue new file mode 100644 index 00000000000..fd40b5d9f65 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_header.vue @@ -0,0 +1,41 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue new file mode 100644 index 00000000000..0a2bad5510b --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue @@ -0,0 +1,120 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_todo.vue b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_todo.vue new file mode 100644 index 00000000000..39ac6c7feca --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_todo.vue @@ -0,0 +1,149 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/components/system_notes/system_note.vue b/app/assets/javascripts/vue_shared/alert_details/components/system_notes/system_note.vue new file mode 100644 index 00000000000..3705e36a579 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/components/system_notes/system_note.vue @@ -0,0 +1,48 @@ + + + diff --git a/app/assets/javascripts/vue_shared/alert_details/constants.js b/app/assets/javascripts/vue_shared/alert_details/constants.js new file mode 100644 index 00000000000..2ab5160534c --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/constants.js @@ -0,0 +1,31 @@ +import { s__ } from '~/locale'; + +export const SEVERITY_LEVELS = { + CRITICAL: s__('severity|Critical'), + HIGH: s__('severity|High'), + MEDIUM: s__('severity|Medium'), + LOW: s__('severity|Low'), + INFO: s__('severity|Info'), + UNKNOWN: s__('severity|Unknown'), +}; + +/* eslint-disable @gitlab/require-i18n-strings */ +export const PAGE_CONFIG = { + OPERATIONS: { + TITLE: 'OPERATIONS', + // Tracks snowplow event when user views alert details + TRACK_ALERTS_DETAILS_VIEWS_OPTIONS: { + category: 'Alert Management', + action: 'view_alert_details', + }, + // Tracks snowplow event when alert status is updated + TRACK_ALERT_STATUS_UPDATE_OPTIONS: { + category: 'Alert Management', + action: 'update_alert_status', + label: 'Status', + }, + }, + THREAT_MONITORING: { + TITLE: 'THREAT_MONITORING', + }, +}; diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/fragments/alert_detail_item.fragment.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/fragments/alert_detail_item.fragment.graphql new file mode 100644 index 00000000000..9a9ae369519 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/fragments/alert_detail_item.fragment.graphql @@ -0,0 +1,30 @@ +#import "~/graphql_shared/fragments/alert.fragment.graphql" +#import "~/graphql_shared/fragments/alert_note.fragment.graphql" + +fragment AlertDetailItem on AlertManagementAlert { + ...AlertListItem + createdAt + monitoringTool + metricsDashboardUrl + service + description + updatedAt + endedAt + hosts + environment { + name + path + } + details + runbook + todos { + nodes { + id + } + } + notes { + nodes { + ...AlertNote + } + } +} diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_issue_create.mutation.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_issue_create.mutation.graphql new file mode 100644 index 00000000000..bc4d91a51d1 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_issue_create.mutation.graphql @@ -0,0 +1,8 @@ +mutation createAlertIssue($projectPath: ID!, $iid: String!) { + createAlertIssue(input: { iid: $iid, projectPath: $projectPath }) { + errors + issue { + iid + } + } +} diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql new file mode 100644 index 00000000000..63d952a4857 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql @@ -0,0 +1,25 @@ +#import "~/graphql_shared/fragments/alert_note.fragment.graphql" + +mutation alertSetAssignees($projectPath: ID!, $assigneeUsernames: [String!]!, $iid: String!) { + alertSetAssignees( + input: { iid: $iid, assigneeUsernames: $assigneeUsernames, projectPath: $projectPath } + ) { + errors + alert { + iid + assignees { + nodes { + username + name + avatarUrl + webUrl + } + } + notes { + nodes { + ...AlertNote + } + } + } + } +} diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_sidebar_status.mutation.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_sidebar_status.mutation.graphql new file mode 100644 index 00000000000..f666fcd6782 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_sidebar_status.mutation.graphql @@ -0,0 +1,3 @@ +mutation toggleSidebarStatus { + toggleSidebarStatus @client +} diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_todo_create.mutation.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_todo_create.mutation.graphql new file mode 100644 index 00000000000..dc961b5eb90 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/mutations/alert_todo_create.mutation.graphql @@ -0,0 +1,10 @@ +#import "../fragments/alert_detail_item.fragment.graphql" + +mutation alertTodoCreate($projectPath: ID!, $iid: String!) { + alertTodoCreate(input: { iid: $iid, projectPath: $projectPath }) { + errors + alert { + ...AlertDetailItem + } + } +} diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_details.query.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_details.query.graphql new file mode 100644 index 00000000000..5ee2cf7ca44 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_details.query.graphql @@ -0,0 +1,11 @@ +#import "../fragments/alert_detail_item.fragment.graphql" + +query alertDetails($fullPath: ID!, $alertId: String) { + project(fullPath: $fullPath) { + alertManagementAlerts(iid: $alertId) { + nodes { + ...AlertDetailItem + } + } + } +} diff --git a/app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_sidebar_status.query.graphql b/app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_sidebar_status.query.graphql new file mode 100644 index 00000000000..61c570c5cd0 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/graphql/queries/alert_sidebar_status.query.graphql @@ -0,0 +1,3 @@ +query sidebarStatus { + sidebarStatus @client +} diff --git a/app/assets/javascripts/vue_shared/alert_details/index.js b/app/assets/javascripts/vue_shared/alert_details/index.js new file mode 100644 index 00000000000..3ea43d7a843 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/index.js @@ -0,0 +1,83 @@ +import { defaultDataIdFromObject } from 'apollo-cache-inmemory'; +import produce from 'immer'; +import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import createDefaultClient from '~/lib/graphql'; +import AlertDetails from './components/alert_details.vue'; +import { PAGE_CONFIG } from './constants'; +import sidebarStatusQuery from './graphql/queries/alert_sidebar_status.query.graphql'; +import createRouter from './router'; + +Vue.use(VueApollo); + +export default (selector) => { + const domEl = document.querySelector(selector); + const { alertId, projectPath, projectIssuesPath, projectId, page } = domEl.dataset; + const router = createRouter(); + + const resolvers = { + Mutation: { + toggleSidebarStatus: (_, __, { cache }) => { + const sourceData = cache.readQuery({ query: sidebarStatusQuery }); + const data = produce(sourceData, (draftData) => { + // eslint-disable-next-line no-param-reassign + draftData.sidebarStatus = !draftData.sidebarStatus; + }); + cache.writeQuery({ query: sidebarStatusQuery, data }); + }, + }, + }; + + const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(resolvers, { + cacheConfig: { + dataIdFromObject: (object) => { + // eslint-disable-next-line no-underscore-dangle + if (object.__typename === 'AlertManagementAlert') { + return object.iid; + } + return defaultDataIdFromObject(object); + }, + }, + assumeImmutableResults: true, + }), + }); + + apolloProvider.clients.defaultClient.cache.writeData({ + data: { + sidebarStatus: false, + }, + }); + + const provide = { + projectPath, + alertId, + page, + projectIssuesPath, + projectId, + }; + + if (page === PAGE_CONFIG.OPERATIONS.TITLE) { + const { TRACK_ALERTS_DETAILS_VIEWS_OPTIONS, TRACK_ALERT_STATUS_UPDATE_OPTIONS } = PAGE_CONFIG[ + page + ]; + provide.trackAlertsDetailsViewsOptions = TRACK_ALERTS_DETAILS_VIEWS_OPTIONS; + provide.trackAlertStatusUpdateOptions = TRACK_ALERT_STATUS_UPDATE_OPTIONS; + } else if (page === PAGE_CONFIG.THREAT_MONITORING.TITLE) { + provide.isThreatMonitoringPage = true; + } + + // eslint-disable-next-line no-new + new Vue({ + el: selector, + components: { + AlertDetails, + }, + provide, + apolloProvider, + router, + render(createElement) { + return createElement('alert-details', {}); + }, + }); +}; diff --git a/app/assets/javascripts/vue_shared/alert_details/router.js b/app/assets/javascripts/vue_shared/alert_details/router.js new file mode 100644 index 00000000000..5687fe4e0f5 --- /dev/null +++ b/app/assets/javascripts/vue_shared/alert_details/router.js @@ -0,0 +1,13 @@ +import Vue from 'vue'; +import VueRouter from 'vue-router'; +import { joinPaths } from '~/lib/utils/url_utility'; + +Vue.use(VueRouter); + +export default function createRouter(base) { + return new VueRouter({ + mode: 'hash', + base: joinPaths(gon.relative_url_root || '', base), + routes: [{ path: '/:tabId', name: 'tab' }], + }); +} diff --git a/app/assets/javascripts/vue_shared/components/actions_button.vue b/app/assets/javascripts/vue_shared/components/actions_button.vue index 2dc2c27f7ea..13472b48e84 100644 --- a/app/assets/javascripts/vue_shared/components/actions_button.vue +++ b/app/assets/javascripts/vue_shared/components/actions_button.vue @@ -76,14 +76,13 @@ export default { diff --git a/app/assets/javascripts/vue_shared/components/alert_details_table.vue b/app/assets/javascripts/vue_shared/components/alert_details_table.vue index 655b867574d..3d49a1cb1c5 100644 --- a/app/assets/javascripts/vue_shared/components/alert_details_table.vue +++ b/app/assets/javascripts/vue_shared/components/alert_details_table.vue @@ -1,12 +1,12 @@ @@ -100,17 +93,17 @@ export default { :label="label" label-for="color-picker" :description="description" - :invalid-feedback="this.$options.i18n.invalid" - :state="isValidColor" + :invalid-feedback="invalidFeedback" + :state="state" :class="{ 'gl-mb-3!': hasSuggestedColors }" > diff --git a/app/assets/javascripts/vue_shared/components/content_viewer/content_viewer.vue b/app/assets/javascripts/vue_shared/components/content_viewer/content_viewer.vue index 9ff35132ac9..1370f7b2a8c 100644 --- a/app/assets/javascripts/vue_shared/components/content_viewer/content_viewer.vue +++ b/app/assets/javascripts/vue_shared/components/content_viewer/content_viewer.vue @@ -1,7 +1,7 @@