Revision f9d9ece7
Added by Tomer Brisker over 8 years ago
app/assets/javascripts/class_edit.js | ||
---|---|---|
var content = $(item).closest('li').clone();
|
||
content.attr('id', 'selected_puppetclass_'+ id);
|
||
content.append("<input id='" + type +"_puppetclass_ids_' name='" + type +"[puppetclass_ids][]' type='hidden' value=" +id+ ">");
|
||
content.children('span').tooltip();
|
||
|
||
var link = content.children('a');
|
||
var links = content.find('a');
|
||
|
||
links.attr('onclick', 'remove_puppet_class(this)');
|
||
links.attr('data-original-title', __('Click to undo adding this class'));
|
||
links.attr('data-original-title', Jed.sprintf(__('Click to remove %s'), link.data("class-name")));
|
||
links.tooltip();
|
||
link.removeClass('glyphicon-plus-sign').addClass('glyphicon-minus-sign');
|
||
|
app/helpers/application_helper.rb | ||
---|---|---|
link_to_function(name, ("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")").html_safe, add_html_classes(options, "btn btn-success") )
|
||
end
|
||
|
||
def link_to_remove_puppetclass(klass, host)
|
||
options = klass.name.size > 28 ? {:'data-original-title'=>klass.name, :rel=>'twipsy'} : {}
|
||
functions_options = { :klass => klass, :host => host, :css_class => ''}
|
||
text = remove_link_to_function(truncate(klass.name, :length => 28), functions_options)
|
||
content_tag(:span, text, options).html_safe +
|
||
remove_link_to_function('', functions_options.merge(:css_class => 'glyphicon glyphicon-minus-sign'))
|
||
def link_to_remove_puppetclass(klass, type)
|
||
options = options_for_puppetclass_selection(klass, type)
|
||
text = remove_link_to_function(truncate(klass.name, :length => 28), options)
|
||
content_tag(:span, text).html_safe +
|
||
remove_link_to_function('', options.merge(:class => 'glyphicon glyphicon-minus-sign'))
|
||
end
|
||
|
||
def remove_link_to_function(text, options)
|
||
link_to_function(text,"remove_puppet_class(this)", :'data-class-id'=>options[:klass].id,
|
||
:'data-original-title'=>_("Click to remove %s") % options[:klass], :rel=>'twipsy',
|
||
:'data-url' => parameters_puppetclass_path( :id => options[:klass].id),
|
||
:'data-host-id' => options[:host].id,
|
||
:'data-animation' => "",
|
||
:class=>options[:css_class])
|
||
link_to_function(text, "remove_puppet_class(this)",
|
||
options.merge(:'data-original-title'=>_("Click to remove %s") % options[:"data-class-name"]))
|
||
end
|
||
|
||
def link_to_add_puppetclass(klass, host, type)
|
||
options = klass.name.size > 28 ? {:'data-original-title'=>klass.name, :rel=>'twipsy'} : {}
|
||
function_options = { :klass => klass, :host => host, :type => type }
|
||
text = add_link_to_function(truncate(klass.name, :length => 28), function_options)
|
||
|
||
content_tag(:span, text, options).html_safe +
|
||
add_link_to_function('', function_options.merge(:css_class => 'glyphicon glyphicon-plus-sign'))
|
||
def link_to_add_puppetclass(klass, type)
|
||
options = options_for_puppetclass_selection(klass, type)
|
||
text = add_link_to_function(truncate(klass.name, :length => 28), options)
|
||
content_tag(:span, text).html_safe +
|
||
add_link_to_function('', options.merge(:class => 'glyphicon glyphicon-plus-sign'))
|
||
end
|
||
|
||
def add_link_to_function(text, options)
|
||
link_to_function(text, "add_puppet_class(this)",
|
||
:'data-class-id' => options[:klass].id, 'data-type' => options[:type],
|
||
:'data-url' => parameters_puppetclass_path(:id => options[:klass].id),
|
||
:'data-host-id' => options[:host].try(:id),
|
||
:'data-original-title' => _("Click to add %s") % options[:klass], :rel => 'twipsy',
|
||
:'data-animation' => "",
|
||
:class => options[:css_class])
|
||
options.merge(:'data-original-title' => _("Click to add %s") % options[:"data-class-name"]))
|
||
end
|
||
|
||
def add_html_classes(options, classes)
|
||
... | ... | |
h(value)
|
||
end
|
||
end
|
||
|
||
def options_for_puppetclass_selection(klass, type)
|
||
{
|
||
:'data-class-id' => klass.id,
|
||
:'data-class-name' => klass.name,
|
||
:'data-type' => type,
|
||
:'data-url' => parameters_puppetclass_path(:id => klass.id),
|
||
:rel => 'twipsy'
|
||
}
|
||
end
|
||
end
|
app/views/puppetclasses/_class_selection.html.erb | ||
---|---|---|
<%= render "puppetclasses/classes",
|
||
:puppetclasses => obj.available_puppetclasses,
|
||
:selected_puppet_classes => obj.classes,
|
||
:obj => obj,
|
||
:type => obj_type(obj)
|
||
%>
|
||
</div>
|
app/views/puppetclasses/_classes.html.erb | ||
---|---|---|
<% else %>
|
||
<% style = selected_puppet_classes.include?(klass) ? "hide" : "" %>
|
||
<%= content_tag_for :li, klass, :class=> style do %>
|
||
<%= link_to_add_puppetclass(klass, @host, type) %>
|
||
<%= link_to_add_puppetclass(klass, type) %>
|
||
<% end %>
|
||
<% end %>
|
||
<% end %>
|
Also available in: Unified diff
Fixes #9453 - improve tooltips on puppetclass selection forms