ManageIQ/manageiq-ui-classic

View on GitHub
app/views/miq_alert/_alert_builtin_exp.html.haml

Summary

Maintainability
Test Coverage
- url = url_for_only_path(:action => 'alert_field_changed', :id => (alert.id || 'new'))
- observe_with_interval = {:interval => '.5', :url => url}.to_json

.form-group
  - case option[:name]
  - when :event_types
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = select_tag('event_types',
        options_for_select([["<#{_('Choose')}>", nil]] + sb_alert[:events].invert.sort,
        edit[:new][:expression][:options][:event_types]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker f();
        miqSelectPickerEvent('event_types', '#{url}', {beforeSend: true, complete: true})
  - when :time_threshold
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      - opts = [["<#{_('Choose')}>", nil]] + sb_alert[:time_thresholds].invert.sort_by(&:last)
      = select_tag('time_threshold',
        options_for_select(opts, edit[:new][:expression][:options][:time_threshold]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('time_threshold', '#{url}', {beforeSend: true, complete: true})
  - when :hourly_time_threshold
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      - opts = [["<#{_('Choose')}>", nil]] + sb_alert[:hourly_time_thresholds].invert.sort_by(&:last)
      = select_tag('hourly_time_threshold',
        options_for_select(opts, edit[:new][:expression][:options][:hourly_time_threshold]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('hourly_time_threshold', '#{url}', {beforeSend: true, complete: true})
  - when :rt_time_threshold
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      - opts = [["<#{_('Choose')}>", nil]] + sb_alert[:rt_time_thresholds].invert.sort_by(&:last)
      = select_tag('rt_time_threshold',
        options_for_select(opts, edit[:new][:expression][:options][:rt_time_threshold]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('rt_time_threshold', '#{url}', {beforeSend: true, complete: true})
  - when :operator, :value_threshold
    -# Skip these, they are handled by perf_column
  - when :perf_column
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = select_tag('perf_column',
        options_for_select(option[:values][edit[:new][:db]].invert.sort, edit[:new][:expression][:options][:perf_column]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('perf_column', '#{url}', {beforeSend: true, complete: true})
      = select_tag('select_operator',
        options_for_select(edit[:operators], edit[:new][:expression][:options][:operator]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('select_operator', '#{url}', {beforeSend: true, complete: true})
      - if edit[:new][:expression][:options].key?(:value_threshold)
        = text_field_tag("value_threshold",
          edit[:new][:expression][:options][:value_threshold],
          :maxlength => ViewHelper::MAX_NAME_LEN,
          :class => "form-control",
          "data-miq_observe" => observe_with_interval)
  - when :trend_steepness
    -# Skip, handled by trend_direction
  - when :trend_direction
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = select_tag('trend_direction',
        options_for_select(option[:values].invert.sort, edit[:new][:expression][:options][:trend_direction]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('trend_direction', '#{url}', {beforeSend: true, complete: true})
      - if edit[:new][:expression][:options][:trend_direction].to_s.ends_with?("more_than")
        = text_field_tag("trend_steepness",
          edit[:new][:expression][:options][:trend_steepness],
          :maxlength => ViewHelper::MAX_DESC_LEN,
          :class => "form-control",
          "data-miq_observe" => observe_with_interval)
        = h(edit[:perf_column_unit])
        = _('Per Minute')
  - when :debug_trace
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = select_tag('debug_trace',
        options_for_select(option[:values], edit[:new][:expression][:options][:debug_trace]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('debug_trace', '#{url}', {beforeSend: true, complete: true})
      &nbsp;&nbsp;
      %b
        = _('Caution:')
      = _('Setting tracing to true may cause excessive log lines to be written')
  - when :event_log_message_filter_value
    -# Skip this, handled by event_log_message_filter_type
  - when :event_log_message_filter_type
    %label.control-label.col-md-2
      = _('Message Filter')
    .col-md-8
      = select_tag('select_event_log_message_filter_type',
        options_for_select(edit[:event_log_message_filter_types], edit[:new][:expression][:options][:event_log_message_filter_type]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('select_event_log_message_filter_type', '#{url}', {beforeSend: true, complete: true})
      = text_field_tag("event_log_message_filter_value",
        edit[:new][:expression][:options][:event_log_message_filter_value],
        :maxlength => ViewHelper::MAX_DESC_LEN,
        "data-miq_observe" => observe_with_interval)
  - when :hdw_attr
    %label.control-label.col-md-2
      = _('Hardware Attribute')
    .col-md-8
      = select_tag('select_hdw_attr',
        options_for_select(edit[:hdw_attrs], edit[:new][:expression][:options][:hdw_attr]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('select_hdw_attr', '#{url}', {beforeSend: true, complete: true})
      = select_tag('select_operator',
        options_for_select(edit[:operators], edit[:new][:expression][:options][:operator]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('select_operator', '#{url}', {beforeSend: true, complete: true})
  - when :ems_id
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      - if edit[:emss].empty?
        = _("No Providers found")
      - elsif edit[:emss].length == 1
        = h(edit[:emss][edit[:new][:expression][:options][:ems_id]])
      - else
        - opts = [["<#{_('Choose')}>", nil]] + edit[:emss].invert.sort_by { |a| a.first.downcase }
        = select_tag('select_ems_id',
          options_for_select(opts, edit[:new][:expression][:options][:ems_id]),
          :class => "selectpicker")
        :javascript
          miqInitSelectPicker();
          miqSelectPickerEvent('select_ems_id', '#{url}', {beforeSend: true, complete: true})
  - when :ems_alarm_mor
    - if edit || @ems
      -# Show if editing or a valid EMS is configured
      %label.control-label.col-md-2
        = h(_(option[:description]))
      .col-md-8
        - if edit[:new][:expression][:options][:ems_id]
          - if edit[:ems_alarms].empty?
            = _("No alarms found for the selected Provider")
          - else
            - opts = [["<#{_('Choose')}>", nil]] + edit[:ems_alarms].invert.sort_by { |a| a.first.downcase }
            = select_tag('select_ems_alarm_mor',
              options_for_select(opts, edit[:new][:expression][:options][:ems_alarm_mor]),
              :class => "selectpicker")
            :javascript
              miqInitSelectPicker();
              miqSelectPickerEvent('select_ems_alarm_mor', '#{url}', {beforeSend: true, complete: true})
        - else
          = _("Choose a Provider first")
  - when :mw_operator
    -# Skip this, handled by value_mw_garbage_collector
  - when :value_mw_threshold
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = select_tag('select_mw_operator',
        options_for_select(edit[:operators], edit[:new][:expression][:options][:mw_operator]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('select_mw_operator', '#{url}', {beforeSend: true, complete: true})
      = text_field_tag("value_mw_threshold",
        edit[:new][:expression][:options][:value_mw_threshold],
        :maxlength => ViewHelper::MAX_NAME_LEN,
        :class => "form-control",
        "data-miq_observe" => observe_with_interval)
  - when :value_mw_garbage_collector
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = select_tag('select_mw_operator',
        options_for_select(edit[:operators], edit[:new][:expression][:options][:mw_operator]),
        :class => "selectpicker")
      :javascript
        miqInitSelectPicker();
        miqSelectPickerEvent('select_mw_operator', '#{url}', {beforeSend: true, complete: true})
      = text_field_tag("value_mw_garbage_collector",
        edit[:new][:expression][:options][:value_mw_garbage_collector],
        :maxlength => ViewHelper::MAX_NAME_LEN,
        :class => "form-control",
        "data-miq_observe" => observe_with_interval)
  - else
    -# Set up as a text input field
    %label.control-label.col-md-2
      = h(_(option[:description]))
    .col-md-8
      = text_field_tag(option[:name],
        edit[:new][:expression][:options][option[:name]],
        :maxlength => ViewHelper::MAX_DESC_LEN,
        :class => "form-control",
        "data-miq_observe" => observe_with_interval)