class Selectize::Ajax::Core::Script

Attributes

control[RW]

Public Class Methods

new(control) click to toggle source
# File lib/selectize/ajax/core/script.rb, line 5
def initialize(control)
  @control = control
end

Public Instance Methods

call() click to toggle source
# File lib/selectize/ajax/core/script.rb, line 9
def call
  js_script_tag
end

Private Instance Methods

js_script_tag() click to toggle source
# File lib/selectize/ajax/core/script.rb, line 15
def js_script_tag
  "<script type=\"text/javascript\" id=\"sj-#{control.resource_id}-script\">
    $(function() {
      setTimeout(function() {
        obj = new window.SelectizeAjax(#{tag_options.to_json});
        SJCollection['#{control.resource_id}'] = obj;
        $('#sj-#{control.resource_id}-script').remove();
      });
    });
  </script>"
end
tag_options() click to toggle source
# File lib/selectize/ajax/core/script.rb, line 27
def tag_options
  options = {
    resource_id: control.resource_id,
    resource_name: control.resource_name
  }
  if control.options.collection.present?
    options[:collection] = control.options.collection
  end
  if control.options.collection_path.present?
    options[:search_param] = control.options.search_param.presence
    options[:collection_path] = control.options.collection_path
  end
  if control.can_edit?
    options[:edit_modal] = control.options.edit_modal
    options[:edit_resource_template] = control.edit_resource_template
  end
  options[:add_modal] = control.options.add_modal if control.can_add?
  options
end