content_tag(:a, name, {:href => '#', :onclick => "#{function}; return false;"}.merge(html_options))
end
- def link_to_context_menu
- link_to l(:button_actions), '#', title: l(:button_actions), class: 'icon-only icon-actions js-contextmenu'
- end
-
# Helper to render JSON in views
def raw_json(arg)
arg.to_json.to_s.gsub('/', '\/').html_safe
content_tag('td', link_to_issue(child, :project => (issue.project_id != child.project_id)), :class => 'subject', :style => 'width: 50%') +
content_tag('td', h(child.status), :class => 'status') +
content_tag('td', link_to_user(child.assigned_to), :class => 'assigned_to') +
- content_tag('td', child.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(child.done_ratio), :class=> 'done_ratio') +
- content_tag('td', link_to_context_menu, :class => 'buttons'),
+ content_tag('td', child.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(child.done_ratio), :class=> 'done_ratio'),
:class => css)
end
s << '</table>'
relations.each do |relation|
other_issue = relation.other_issue(issue)
css = "issue hascontextmenu #{other_issue.css_classes}"
- buttons = manage_relations ? link_to(l(:label_relation_delete),
+ link = manage_relations ? link_to(l(:label_relation_delete),
relation_path(relation),
:remote => true,
:method => :delete,
:title => l(:label_relation_delete),
:class => 'icon-only icon-link-break'
) : nil
- buttons << link_to_context_menu
s << content_tag('tr',
content_tag('td', check_box_tag("ids[]", other_issue.id, false, :id => nil), :class => 'checkbox') +
content_tag('td', other_issue.start_date, :class => 'start_date') +
content_tag('td', other_issue.due_date, :class => 'due_date') +
content_tag('td', other_issue.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(other_issue.done_ratio), :class=> 'done_ratio') +
- content_tag('td', buttons, :class => 'buttons'),
+ content_tag('td', link, :class => 'buttons'),
:id => "relation-#{relation.id}",
:class => css)
end
<% query.inline_columns.each do |column| %>
<%= column_header(query, column, query_options) %>
<% end %>
- <th></th>
</tr>
</thead>
<tbody>
<% if group_name %>
<% reset_cycle %>
<tr class="group open">
- <td colspan="<%= query.inline_columns.size + 2 %>">
+ <td colspan="<%= query.inline_columns.size + 1 %>">
<span class="expander" onclick="toggleRowGroup(this);"> </span>
<span class="name"><%= group_name %></span> <span class="count"><%= group_count %></span> <span class="totals"><%= group_totals %></span>
<%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}",
<% query.inline_columns.each do |column| %>
<%= content_tag('td', column_content(column, issue), :class => column.css_classes) %>
<% end %>
- <td class="buttons"><%= link_to_context_menu %></td>
</tr>
<% query.block_columns.each do |column|
if (text = column_content(column, issue)) && text.present? -%>
<tr class="<%= current_cycle %>">
- <td colspan="<%= query.inline_columns.size + 2 %>" class="<%= column.css_classes %>">
+ <td colspan="<%= query.inline_columns.size + 1 %>" class="<%= column.css_classes %>">
<% if query.block_columns.count > 1 %>
<span><%= column.caption %></span>
<% end %>
<th><%= l(:label_project) %></th>
<th><%= l(:field_comments) %></th>
<th><%= l(:field_hours) %></th>
-<th></th>
</tr></thead>
<tbody>
<% entries_by_day.keys.sort.reverse_each do |day| %>
<td><strong><%= day == User.current.today ? l(:label_today).titleize : format_date(day) %></strong></td>
<td colspan="2"></td>
<td class="hours"><em><%= html_hours(format_hours(entries_by_day[day].sum(&:hours))) %></em></td>
- <td></td>
</tr>
<% entries_by_day[day].each do |entry| -%>
<tr id="time-entry-<%= entry.id %>" class="time-entry hascontextmenu">
<td class="subject"><%= entry.project %> <%= h(' - ') + link_to_issue(entry.issue, :truncate => 50) if entry.issue %></td>
<td class="comments"><%= entry.comments %></td>
<td class="hours"><%= html_hours(format_hours(entry.hours)) %></td>
- <td class="buttons"><%= link_to_context_menu %></td>
</tr>
<% end -%>
<% end -%>
:title => l(:button_delete),
:class => 'icon-only icon-del' %>
<% end -%>
- <%= link_to_context_menu %>
</td>
</tr>
<% @query.block_columns.each do |column|
<tr class="hascontextmenu">
<td class="checkbox"><%= check_box_tag 'ids[]', issue.id, false, :id => nil %></td>
<td class="subject"><%= link_to_issue(issue, :project => (@project != issue.project)) %></td>
- <td class="buttons"><%= link_to_context_menu %></td>
</tr>
<% end -%>
</table>
<tr class="issue hascontextmenu">
<td class="checkbox"><%= check_box_tag 'ids[]', issue.id, false, :id => nil %></td>
<td class="subject"><%= link_to_issue(issue, :project => (@project != issue.project)) %></td>
- <td class="buttons"><%= link_to_context_menu %></td>
</tr>
<% end %>
</table>
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
description_all_columns: Всички колони
text_repository_identifier_info: 'Позволени са малки букви (a-z), цифри, тирета и _.<br />Промяна след създаването му не е възможна.'
error_can_not_delete_auth_source: Този режим за идентификация се използва и не може да бъде премахнат.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revizí"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
button_update: Aktualisieren
button_view: Anzeigen
button_watch: Beobachten
- button_actions: Aktionen
default_activity_design: Design
default_activity_development: Entwicklung
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
button_reopen: Reopen
button_import: Import
button_filter: Filter
- button_actions: Actions
status_active: active
status_registered: registered
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_user_mail_option_only_owner: Only for things I watch or I am the owner of
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
setting_timelog_max_hours_per_day: 1日・1人あたりの作業時間の上限
label_x_revisions: "%{count}件の履歴"
error_can_not_delete_auth_source: この認証方式は使用中です。削除できません。
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisões"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} revisions"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
label_x_revisions: "%{count} 修订"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
- button_actions: Actions
function contextMenuRightClick(event) {
var target = $(event.target);
- if (target.is('a:not(.js-contextmenu)')) {return;}
+ if (target.is('a')) {return;}
var tr = target.closest('.hascontextmenu').first();
if (tr.length < 1) {return;}
event.preventDefault();
if (!contextMenuObserving) {
$(document).click(contextMenuClick);
$(document).contextmenu(contextMenuRightClick);
- $(document).on('click', '.js-contextmenu', contextMenuRightClick);
contextMenuObserving = true;
}
}
table.list td.checkbox input {padding:0px;}
table.list td.buttons, div.buttons { white-space:nowrap; text-align: right; }
table.list td.buttons a, div.buttons a { margin-right: 0.6em; }
-table.list td.buttons a:last-child, div.buttons a:last-child { margin-right: 0; }
table.list td.buttons img, div.buttons img {vertical-align:middle;}
table.list td.reorder {width:15%; white-space:nowrap; text-align:center; }
table.list table.progress td {padding-right:0px;}
#issue_tree table.issues, #relations table.issues { border: 0; }
#issue_tree td.checkbox, #relations td.checkbox {display:none;}
-#relations td.buttons, #issue_tree td.buttons {padding:0;}
+#relations td.buttons {padding:0;}
fieldset.collapsible {border-width: 1px 0 0 0;}
fieldset.collapsible>legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
.icon-project { background-image: url(../images/projects.png); }
.icon-add-bullet { background-image: url(../images/bullet_add.png); }
.icon-shared { background-image: url(../images/link.png); }
-.icon-actions { background-image: url(../images/3_bullets.png); }
.icon-file { background-image: url(../images/files/default.png); }
.icon-file.text-plain { background-image: url(../images/files/text.png); }
width: 33.33%; /* three columns for all cells that are not subject */
}
- #issue_tree .issues, #issue_tree .issue,
#relations .issues, #relations .issue {
position: relative; /* needed for .buttons positioning */
}
/* positioniong of unline button */
- #issue_tree .issue > td.buttons,
#relations .issue > td.buttons {
text-align: right;
position: absolute;
padding-right: 0;
}
- #issue_tree .issue .buttons a,
#relations .issue .buttons a {
vertical-align: middle;
+ padding-right: 5px;
}
- #issue_tree .issue > td.subject,
#relations .issue > td.subject {
padding-right: 25px; /* this is the spaces that .buttons uses next to subject */
}