debian-mirror-gitlab/app/helpers/ide_helper.rb

47 lines
1.8 KiB
Ruby
Raw Normal View History

2019-02-15 15:39:39 +05:30
# frozen_string_literal: true
module IdeHelper
def ide_data
{
2021-04-17 20:07:23 +05:30
'empty-state-svg-path' => image_path('illustrations/multi_file_editor_empty.svg'),
'no-changes-state-svg-path' => image_path('illustrations/multi-editor_no_changes_empty.svg'),
'committed-state-svg-path' => image_path('illustrations/multi-editor_all_changes_committed_empty.svg'),
'pipelines-empty-state-svg-path': image_path('illustrations/pipelines_empty.svg'),
'promotion-svg-path': image_path('illustrations/web-ide_promotion.svg'),
'ci-help-page-path' => help_page_path('ci/quick_start/README'),
'web-ide-help-page-path' => help_page_path('user/project/web_ide/index.md'),
'clientside-preview-enabled': Gitlab::CurrentSettings.web_ide_clientside_preview_enabled?.to_s,
'render-whitespace-in-code': current_user.render_whitespace_in_code.to_s,
'codesandbox-bundler-url': Gitlab::CurrentSettings.web_ide_clientside_preview_bundler_url,
'branch-name' => @branch,
'file-path' => @path,
'merge-request' => @merge_request,
2021-04-29 21:17:54 +05:30
'fork-info' => @fork_info&.to_json,
2021-06-08 01:23:25 +05:30
'project' => convert_to_project_entity_json(@project),
'enable-environments-guidance' => enable_environments_guidance?.to_s
2019-02-15 15:39:39 +05:30
}
end
2021-04-17 20:07:23 +05:30
private
def convert_to_project_entity_json(project)
return unless project
API::Entities::Project.represent(project).to_json
end
2021-06-08 01:23:25 +05:30
def enable_environments_guidance?
experiment(:in_product_guidance_environments_webide, project: @project) do |e|
e.try { !has_dismissed_ide_environments_callout? }
e.run
end
end
def has_dismissed_ide_environments_callout?
current_user.dismissed_callout?(feature_name: 'web_ide_ci_environments_guidance')
end
2019-02-15 15:39:39 +05:30
end
2020-07-28 23:09:34 +05:30
2021-06-08 01:23:25 +05:30
::IdeHelper.prepend_mod_with('IdeHelper')