diff --git a/app/assets/javascripts/vue_merge_request_widget/components/extensions/base.vue b/app/assets/javascripts/vue_merge_request_widget/components/extensions/base.vue index 0f692f231428dcc1e9f9ff291f9e0e4a0e333911..c2d61478e998a406358a0eabb56d2d9498829cde 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/extensions/base.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/extensions/base.vue @@ -10,10 +10,10 @@ import { normalizeHeaders } from '~/lib/utils/common_utils'; import { EXTENSION_ICON_CLASS, EXTENSION_ICONS } from '../../constants'; import Actions from '../action_buttons.vue'; import StateContainer from '../state_container.vue'; +import { generateText } from '../widget/utils'; +import { createTelemetryHub } from '../widget/telemetry'; import StatusIcon from './status_icon.vue'; import ChildContent from './child_content.vue'; -import { createTelemetryHub } from './telemetry'; -import { generateText } from './utils'; export const LOADING_STATES = { collapsedLoading: 'collapsedLoading', diff --git a/app/assets/javascripts/vue_merge_request_widget/components/extensions/child_content.vue b/app/assets/javascripts/vue_merge_request_widget/components/extensions/child_content.vue index 5f0fd973e84022d93c39c3cc06d6933265c79896..bb0d53fd60d983a1c88c617f17c88da81ad59fd5 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/extensions/child_content.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/extensions/child_content.vue @@ -3,8 +3,8 @@ import { GlBadge, GlLink, GlModalDirective } from '@gitlab/ui'; import { isArray } from 'lodash'; import SafeHtml from '~/vue_shared/directives/safe_html'; import Actions from '../action_buttons.vue'; +import { generateText } from '../widget/utils'; import StatusIcon from './status_icon.vue'; -import { generateText } from './utils'; export default { name: 'ChildContent', diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/README.md b/app/assets/javascripts/vue_merge_request_widget/components/widget/README.md new file mode 100644 index 0000000000000000000000000000000000000000..45ebafec8bf505d06752366a621979a6ff28bb40 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/README.md @@ -0,0 +1 @@ +Please see [the Widget Extensions documentation](development/merge_request_concepts/widget_extensions.md) for necessary information regarding development of new MR Widgets. diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/dynamic_content.vue b/app/assets/javascripts/vue_merge_request_widget/components/widget/dynamic_content.vue index cbc7b91922b00fd17068ad1cf03a87f885c17e6f..4c4aac2ee7f4a4253e000dfb00990f3b32b29a07 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/widget/dynamic_content.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/dynamic_content.vue @@ -1,7 +1,7 @@ <script> import { GlBadge, GlLink, GlTooltipDirective } from '@gitlab/ui'; import SafeHtml from '~/vue_shared/directives/safe_html'; -import { generateText } from '../extensions/utils'; +import { generateText } from './utils'; import ContentRow from './widget_content_row.vue'; import Actions from './action_buttons.vue'; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/extensions/telemetry.js b/app/assets/javascripts/vue_merge_request_widget/components/widget/telemetry.js similarity index 100% rename from app/assets/javascripts/vue_merge_request_widget/components/extensions/telemetry.js rename to app/assets/javascripts/vue_merge_request_widget/components/widget/telemetry.js diff --git a/app/assets/javascripts/vue_merge_request_widget/components/extensions/utils.js b/app/assets/javascripts/vue_merge_request_widget/components/widget/utils.js similarity index 100% rename from app/assets/javascripts/vue_merge_request_widget/components/extensions/utils.js rename to app/assets/javascripts/vue_merge_request_widget/components/widget/utils.js diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget.vue b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget.vue index d85ba5374d32c2e439b4d01918dd4cc9c3b33057..cea7f732e215d9655a5dc50fe5dd763ae124e317 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget.vue @@ -10,8 +10,8 @@ import Poll from '~/lib/utils/poll'; import HelpPopover from '~/vue_shared/components/help_popover.vue'; import { DynamicScroller, DynamicScrollerItem } from 'vendor/vue-virtual-scroller'; import { EXTENSION_ICONS } from '../../constants'; -import { createTelemetryHub } from '../extensions/telemetry'; -import { generateText } from '../extensions/utils'; +import { generateText } from './utils'; +import { createTelemetryHub } from './telemetry'; import ContentRow from './widget_content_row.vue'; import DynamicContent from './dynamic_content.vue'; import StatusIcon from './status_icon.vue'; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue index afdb9e9ff0866a11d803d84e853795e67530ed0b..bd2a669a312f7432d63a1bf101f2f83db08f7af0 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue @@ -4,7 +4,7 @@ import { __ } from '~/locale'; import HelpPopover from '~/vue_shared/components/help_popover.vue'; import SafeHtml from '~/vue_shared/directives/safe_html'; import { EXTENSION_ICONS } from '../../constants'; -import { generateText } from '../extensions/utils'; +import { generateText } from './utils'; import ActionButtons from './action_buttons.vue'; import StatusIcon from './status_icon.vue'; diff --git a/spec/frontend/vue_merge_request_widget/components/extensions/utils_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/utils_spec.js similarity index 98% rename from spec/frontend/vue_merge_request_widget/components/extensions/utils_spec.js rename to spec/frontend/vue_merge_request_widget/components/widget/utils_spec.js index 5799799ad5e83a90aa40ef865340253ba1dd7ab4..ef74dd59106d229fcaebf2ad85436b50b37e56dd 100644 --- a/spec/frontend/vue_merge_request_widget/components/extensions/utils_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/widget/utils_spec.js @@ -1,4 +1,4 @@ -import { generateText } from '~/vue_merge_request_widget/components/extensions/utils'; +import { generateText } from '~/vue_merge_request_widget/components/widget/utils'; describe('generateText', () => { it.each` diff --git a/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js index 87c1ad7947e8573b00a27dc80a8239458cac264e..921cf341b192c0089a6321f85d3b47ab7e8f6463 100644 --- a/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js @@ -4,7 +4,7 @@ import { shallowMountExtended, mountExtended } from 'helpers/vue_test_utils_help import HelpPopover from '~/vue_shared/components/help_popover.vue'; import waitForPromises from 'helpers/wait_for_promises'; import { assertProps } from 'helpers/assert_props'; -import StatusIcon from '~/vue_merge_request_widget/components/extensions/status_icon.vue'; +import StatusIcon from '~/vue_merge_request_widget/components/widget/status_icon.vue'; import ActionButtons from '~/vue_merge_request_widget/components/widget/action_buttons.vue'; import Widget from '~/vue_merge_request_widget/components/widget/widget.vue'; import WidgetContentRow from '~/vue_merge_request_widget/components/widget/widget_content_row.vue'; @@ -12,7 +12,7 @@ import * as logger from '~/lib/logger'; import axios from '~/lib/utils/axios_utils'; import { HTTP_STATUS_OK } from '~/lib/utils/http_status'; -jest.mock('~/vue_merge_request_widget/components/extensions/telemetry', () => ({ +jest.mock('~/vue_merge_request_widget/components/widget/telemetry', () => ({ createTelemetryHub: jest.fn().mockReturnValue({ viewed: jest.fn(), expanded: jest.fn(),