diff options
Diffstat (limited to 'app/views/groups/runners')
-rw-r--r-- | app/views/groups/runners/_settings.html.haml | 186 | ||||
-rw-r--r-- | app/views/groups/runners/_sort_dropdown.html.haml | 11 |
2 files changed, 96 insertions, 101 deletions
diff --git a/app/views/groups/runners/_settings.html.haml b/app/views/groups/runners/_settings.html.haml index bbcadc08a8b..087b06ee37d 100644 --- a/app/views/groups/runners/_settings.html.haml +++ b/app/views/groups/runners/_settings.html.haml @@ -1,4 +1,6 @@ - if Feature.enabled?(:runner_list_group_view_vue_ui, @group, default_enabled: :yaml) + .gl-mb-6 + #update-shared-runners-form{ data: group_shared_runners_settings_data(@group) } .gl-card.gl-px-8.gl-py-6.gl-line-height-20 .gl-card-body.gl-display-flex{ :class => "gl-p-0!" } .gl-banner-illustration @@ -11,107 +13,107 @@ %a.btn.btn-confirm.btn-md.gl-button{ :href => group_runners_path(@group) } %span.gl-button-text = s_('Runners|Take me there!') +- else + = render 'shared/runners/runner_description' -= render 'shared/runners/runner_description' - -%hr + %hr -.row - .col-sm-6 - = render 'groups/runners/group_runners' - .col-sm-6 - = render 'groups/runners/shared_runners' + .row + .col-sm-6 + = render 'groups/runners/group_runners' + .col-sm-6 + = render 'groups/runners/shared_runners' -%h4.underlined-title - = _('Available runners: %{runners}').html_safe % { runners: limited_counter_with_delimiter(@all_group_runners) } + %h4.underlined-title + = _('Available runners: %{runners}').html_safe % { runners: limited_counter_with_delimiter(@all_group_runners) } --# haml-lint:disable NoPlainNodes -.row - .col-sm-9 - = form_tag group_settings_ci_cd_path, id: 'runners-search', method: :get, class: 'filter-form js-filter-form' do - .filtered-search-wrapper.d-flex - .filtered-search-box - = dropdown_tag(_('Recent searches'), - options: { wrapper_class: 'filtered-search-history-dropdown-wrapper', - toggle_class: 'gl-button btn btn-default filtered-search-history-dropdown-toggle-button', - dropdown_class: 'filtered-search-history-dropdown', - content_class: 'filtered-search-history-dropdown-content' }) do - .js-filtered-search-history-dropdown{ data: { full_path: group_settings_ci_cd_path } } - .filtered-search-box-input-container.droplab-dropdown - .scroll-container - %ul.tokens-container.list-unstyled - %li.input-token - %input.form-control.filtered-search{ search_filter_input_options('runners') } - #js-dropdown-hint.filtered-search-input-dropdown-menu.dropdown-menu.hint-dropdown - %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } } - %li.filter-dropdown-item{ data: {hint: "#{'{{hint}}'}", tag: "#{'{{tag}}'}", action: "#{'{{hint === \'search\' ? \'submit\' : \'\' }}'}" } } - = button_tag class: 'gl-button btn btn-link' do - -# Encapsulate static class name `{{icon}}` inside #{} to bypass - -# haml lint's ClassAttributeWithStaticValue - %svg - %use{ 'xlink:href': "#{'{{icon}}'}" } - %span.js-filter-hint - {{formattedKey}} - #js-dropdown-operator.filtered-search-input-dropdown-menu.dropdown-menu - %ul.filter-dropdown{ data: { dropdown: true, dynamic: true } } - %li.filter-dropdown-item{ data: { value: "{{ title }}" } } - = button_tag class: 'gl-button btn btn-link' do - {{ title }} - %span.btn-helptext - {{ help }} - #js-dropdown-admin-runner-status.filtered-search-input-dropdown-menu.dropdown-menu - %ul{ data: { dropdown: true } } - - Ci::Runner::AVAILABLE_STATUSES.each do |status| - %li.filter-dropdown-item{ data: { value: status } } + -# haml-lint:disable NoPlainNodes + .row + .col-sm-9 + = form_tag group_settings_ci_cd_path, id: 'runners-search', method: :get, class: 'filter-form js-filter-form' do + .filtered-search-wrapper.d-flex + .filtered-search-box + = dropdown_tag(_('Recent searches'), + options: { wrapper_class: 'filtered-search-history-dropdown-wrapper', + toggle_class: 'gl-button btn btn-default filtered-search-history-dropdown-toggle-button', + dropdown_class: 'filtered-search-history-dropdown', + content_class: 'filtered-search-history-dropdown-content' }) do + .js-filtered-search-history-dropdown{ data: { full_path: group_settings_ci_cd_path } } + .filtered-search-box-input-container.droplab-dropdown + .scroll-container + %ul.tokens-container.list-unstyled + %li.input-token + %input.form-control.filtered-search{ search_filter_input_options('runners') } + #js-dropdown-hint.filtered-search-input-dropdown-menu.dropdown-menu.hint-dropdown + %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } } + %li.filter-dropdown-item{ data: {hint: "#{'{{hint}}'}", tag: "#{'{{tag}}'}", action: "#{'{{hint === \'search\' ? \'submit\' : \'\' }}'}" } } = button_tag class: 'gl-button btn btn-link' do - = status.titleize - - #js-dropdown-admin-runner-type.filtered-search-input-dropdown-menu.dropdown-menu - %ul{ data: { dropdown: true } } - - Ci::Runner::AVAILABLE_TYPES.each do |runner_type| - - next if runner_type == 'instance_type' - %li.filter-dropdown-item{ data: { value: runner_type } } + -# Encapsulate static class name `{{icon}}` inside #{} to bypass + -# haml lint's ClassAttributeWithStaticValue + %svg + %use{ 'xlink:href': "#{'{{icon}}'}" } + %span.js-filter-hint + {{formattedKey}} + #js-dropdown-operator.filtered-search-input-dropdown-menu.dropdown-menu + %ul.filter-dropdown{ data: { dropdown: true, dynamic: true } } + %li.filter-dropdown-item{ data: { value: "{{ title }}" } } = button_tag class: 'gl-button btn btn-link' do - = runner_type.titleize + {{ title }} + %span.btn-helptext + {{ help }} + #js-dropdown-admin-runner-status.filtered-search-input-dropdown-menu.dropdown-menu + %ul{ data: { dropdown: true } } + - Ci::Runner::AVAILABLE_STATUSES.each do |status| + %li.filter-dropdown-item{ data: { value: status } } + = button_tag class: 'gl-button btn btn-link' do + = status.titleize + + #js-dropdown-admin-runner-type.filtered-search-input-dropdown-menu.dropdown-menu + %ul{ data: { dropdown: true } } + - Ci::Runner::AVAILABLE_TYPES.each do |runner_type| + - next if runner_type == 'instance_type' + %li.filter-dropdown-item{ data: { value: runner_type } } + = button_tag class: 'gl-button btn btn-link' do + = runner_type.titleize - #js-dropdown-runner-tag.filtered-search-input-dropdown-menu.dropdown-menu - %ul{ data: { dropdown: true } } - %li.filter-dropdown-item{ data: { value: 'none' } } - = button_tag class: 'gl-button btn btn-link' do - = _('No Tag') - %li.divider.droplab-item-ignore - %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } } - %li.filter-dropdown-item - = button_tag class: 'gl-button btn btn-link js-data-value' do - %span.dropdown-light-content - {{name}} + #js-dropdown-runner-tag.filtered-search-input-dropdown-menu.dropdown-menu + %ul{ data: { dropdown: true } } + %li.filter-dropdown-item{ data: { value: 'none' } } + = button_tag class: 'gl-button btn btn-link' do + = _('No Tag') + %li.divider.droplab-item-ignore + %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } } + %li.filter-dropdown-item + = button_tag class: 'gl-button btn btn-link js-data-value' do + %span.dropdown-light-content + {{name}} - = button_tag class: 'clear-search hidden' do - = sprite_icon('close', size: 16, css_class: 'clear-search-icon') - .filter-dropdown-container - = render 'groups/runners/sort_dropdown' + = button_tag class: 'clear-search hidden' do + = sprite_icon('close', size: 16, css_class: 'clear-search-icon') + .filter-dropdown-container + = render 'groups/runners/sort_dropdown' - .col-sm-3.text-right-lg - = _('Runners currently online: %{active_runners_count}') % { active_runners_count: limited_counter_with_delimiter(@all_group_runners.online) } + .col-sm-3.text-right-lg + = _('Runners currently online: %{active_runners_count}') % { active_runners_count: limited_counter_with_delimiter(@all_group_runners.online) } -- if @group_runners.any? - .content-list{ data: { testid: 'runners-table' } } - .table-holder - .gl-responsive-table-row.table-row-header{ role: 'row' } - .table-section.section-10{ role: 'rowheader' }= _('Type/State') - .table-section.section-30{ role: 'rowheader' }= s_('Runners|Runner') - .table-section.section-10{ role: 'rowheader' }= _('Version') - .table-section.section-10{ role: 'rowheader' }= _('IP Address') - .table-section.section-5{ role: 'rowheader' }= _('Projects') - .table-section.section-5{ role: 'rowheader' }= _('Jobs') - .table-section.section-10{ role: 'rowheader' }= _('Tags') - .table-section.section-10{ role: 'rowheader' }= _('Last contact') - .table-section.section-10{ role: 'rowheader' } + - if @group_runners.any? + .content-list{ data: { testid: 'runners-table' } } + .table-holder + .gl-responsive-table-row.table-row-header{ role: 'row' } + .table-section.section-10{ role: 'rowheader' }= _('Type/State') + .table-section.section-30{ role: 'rowheader' }= s_('Runners|Runner') + .table-section.section-10{ role: 'rowheader' }= _('Version') + .table-section.section-10{ role: 'rowheader' }= _('IP Address') + .table-section.section-5{ role: 'rowheader' }= _('Projects') + .table-section.section-5{ role: 'rowheader' }= _('Jobs') + .table-section.section-10{ role: 'rowheader' }= _('Tags') + .table-section.section-10{ role: 'rowheader' }= _('Last contact') + .table-section.section-10{ role: 'rowheader' } - - @group_runners.each do |runner| - - runner = runner.present(current_user: current_user) - = render 'groups/runners/runner', runner: runner - = paginate @group_runners, theme: 'gitlab', :params => { :anchor => 'runners-settings' } -- else - .nothing-here-block= _('No runners found') + - @group_runners.each do |runner| + - runner = runner.present(current_user: current_user) + = render 'groups/runners/runner', runner: runner + = paginate @group_runners, theme: 'gitlab', :params => { :anchor => 'runners-settings' } + - else + .nothing-here-block= _('No runners found') diff --git a/app/views/groups/runners/_sort_dropdown.html.haml b/app/views/groups/runners/_sort_dropdown.html.haml index e914bd00dac..b7b10cecee8 100644 --- a/app/views/groups/runners/_sort_dropdown.html.haml +++ b/app/views/groups/runners/_sort_dropdown.html.haml @@ -1,10 +1,3 @@ -- sorted_by = sort_options_hash[@sort] || sort_title_created_date +- runners_sort_options = runners_sort_options_hash.map { |value, text| { value: value, text: text, href: page_filter_path(sort: value) } } -.dropdown.inline.gl-ml-3 - %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown', display: 'static' } } - = sorted_by - = sprite_icon('chevron-down', css_class: 'dropdown-menu-toggle-icon gl-top-3') - %ul.dropdown-menu.dropdown-menu-right.dropdown-menu-selectable.dropdown-menu-sort - %li - = sortable_item(sort_title_created_date, page_filter_path(sort: sort_value_created_date), sorted_by) - = sortable_item(sort_title_contacted_date, page_filter_path(sort: sort_value_contacted_date), sorted_by) += gl_redirect_listbox_tag runners_sort_options, @sort, class: 'gl-ml-3', data: { display: 'static' } |