Project

General

Profile

Patch #41827 » 0003_add_automatic_tooltips_to_column_selects.patch

Leonid Murin, 2024-11-22 14:47

View differences:

app/assets/javascripts/application.js
110 110

  
111 111
// columns selection
112 112
function moveOptions(theSelFrom, theSelTo) {
113
  $(theSelFrom).find('option:selected').detach().prop("selected", false).appendTo($(theSelTo));
113
  $(theSelFrom).find('option:selected').detach().prop("selected", false).appendTo($(theSelTo)).
114
    filter('[title]').tooltip("close");
114 115
}
115 116

  
116 117
function moveOptionUp(theSel) {
......
1139 1140
  });
1140 1141
}
1141 1142

  
1142
$(function () {
1143
function initTooltips() {
1144
  $(".js-overflow-to-tooltip").each(function () {
1145
    const currentTitle = this.getAttribute('title');
1146
    if ((this.scrollWidth > this.clientWidth ||
1147
            this.scrollHeight > this.clientHeight) &&
1148
        !currentTitle) {
1149
      this.setAttribute('title', this.textContent);
1150
    }
1151
  });
1152

  
1143 1153
  $("[title]:not(.no-tooltip)").tooltip({
1144 1154
    show: {
1145 1155
      delay: 400
......
1149 1159
      at: "center top"
1150 1160
    }
1151 1161
  });
1152
});
1162
}
1163

  
1164
$(initTooltips);
1153 1165

  
1154 1166
function inlineAutoComplete(element) {
1155 1167
    'use strict';
app/helpers/queries_helper.rb
129 129

  
130 130
  def query_available_inline_columns_options(query)
131 131
    (query.available_inline_columns - query.columns).
132
      reject(&:frozen?).collect {|column| [column.caption, column.name]}
132
      reject(&:frozen?).collect {|column| column_select_option(column)}
133 133
  end
134 134

  
135 135
  def query_selected_inline_columns_options(query)
136 136
    (query.inline_columns & query.available_inline_columns).
137
      reject(&:frozen?).collect {|column| [column.caption, column.name]}
137
      reject(&:frozen?).collect {|column| column_select_option(column)}
138
  end
139

  
140
  def column_select_option(column)
141
    [column.caption, column.name, {class: 'js-overflow-to-tooltip'}]
138 142
  end
139 143

  
140 144
  def render_query_columns_selection(query, options={})
app/views/my/blocks/_issues.erb
1 1
<div class="contextual">
2
  <%= link_to_function sprite_icon('settings', l(:label_options)), "$('##{block}-settings').toggle();", :class => 'icon-only icon-settings', :title => l(:label_options) %>
2
  <%= link_to_function sprite_icon('settings', l(:label_options)), "$('##{block}-settings').toggle(); initTooltips();", :class => 'icon-only icon-settings', :title => l(:label_options) %>
3 3
</div>
4 4

  
5 5
<h3>
app/views/queries/_query_form.html.erb
16 16

  
17 17
  <% if @query.available_columns.any? %>
18 18
    <fieldset id="options" class="collapsible collapsed">
19
      <legend onclick="toggleFieldset(this);" class="icon icon-collapsed">
19
      <legend onclick="toggleFieldset(this); initTooltips();" class="icon icon-collapsed">
20 20
        <%= sprite_icon("angle-right") %>
21 21
        <%= l(:label_options) %>
22 22
      </legend>
......
84 84
  $('input[name=display_type]').change(function (e) {
85 85
    if ($("#display_type_list").is(':checked')) {
86 86
      $('table#list-definition').show();
87
      initTooltips();
87 88
    } else {
88 89
      $('table#list-definition').hide();
89 90
    }
90
- 
(3-3/5)