Skip to content

Commit

Permalink
Refs #4127 - fixed smart_variable tests and textarea width
Browse files Browse the repository at this point in the history
  • Loading branch information
kgaikwad committed Feb 21, 2019
1 parent 6b372e1 commit b89b8cb
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 17 deletions.
4 changes: 3 additions & 1 deletion app/helpers/common_parameters_helper.rb
Expand Up @@ -15,7 +15,9 @@ def parameter_value_field(value)
content_tag(
:div,
parameter_value_content(
"value_#{value[:safe_value]}", value[:safe_value], :hidden_value? => value[:hidden_value?],
"value_#{value[:safe_value]}",
Parameter.format_value_before_type_cast(value[:safe_value], value[:parameter_type]),
:hidden_value? => value[:hidden_value?],
:popover => popover_tag, :disabled => true
) + fullscreen_input,
:class => 'input-group'
Expand Down
2 changes: 1 addition & 1 deletion app/helpers/lookup_keys_helper.rb
Expand Up @@ -53,7 +53,7 @@ def can_edit_params?

def lookup_key_with_diagnostic(obj, lookup_key, lookup_value)
value, matcher = value_matcher(obj, lookup_key)
inherited_value = lookup_key.format_value_before_type_cast(value)
inherited_value = LookupKey.format_value_before_type_cast(value, lookup_key.key_type)
effective_value = lookup_value.lookup_key_id.nil? ? inherited_value.to_s : lookup_value.value_before_type_cast.to_s
warnings = lookup_key_warnings(lookup_key.required, effective_value.present?)
popover_value = lookup_key.hidden_value? ? lookup_key.hidden_value : inherited_value
Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/hidden_value.rb
Expand Up @@ -4,7 +4,7 @@ module HiddenValue
HIDDEN_VALUE = "*" * 5

def safe_value
self.hidden_value? ? HIDDEN_VALUE : self.value_before_type_cast
self.hidden_value? ? HIDDEN_VALUE : self.value
end

def hidden_value
Expand Down
22 changes: 12 additions & 10 deletions app/models/concerns/key_type.rb
Expand Up @@ -8,17 +8,19 @@ module KeyType
alias_attribute :parameter_type, :key_type
end

def format_value_before_type_cast(val)
return val if val.nil? || val.contains_erb?
if key_type.present?
case key_type.to_sym
when :json, :array
val = JSON.dump(val)
when :yaml, :hash
val = YAML.dump val
val.sub!(/\A---\s*$\n/, '')
module ClassMethods
def format_value_before_type_cast(val, key_type)
return val if val.nil? || val.contains_erb?
if key_type.present?
case key_type.to_sym
when :json, :array
val = JSON.dump(val)
when :yaml, :hash
val = YAML.dump val
val.sub!(/\A---\s*$\n/, '')
end
end
val
end
val
end
end
2 changes: 1 addition & 1 deletion app/models/lookup_keys/lookup_key.rb
Expand Up @@ -105,7 +105,7 @@ def path=(v)

def default_value_before_type_cast
return self[:default_value] if errors[:default_value].present?
format_value_before_type_cast default_value
LookupKey.format_value_before_type_cast(default_value, key_type)
end

def path_elements
Expand Down
2 changes: 1 addition & 1 deletion app/models/lookup_value.rb
Expand Up @@ -50,7 +50,7 @@ def name
def value_before_type_cast
return self[:value] if errors[:value].present?
return self.value if lookup_key.nil? || value.contains_erb?
lookup_key.format_value_before_type_cast self.value
LookupKey.format_value_before_type_cast(self.value, lookup_key.key_type)
end

def validate_value
Expand Down
2 changes: 1 addition & 1 deletion app/models/parameter.rb
Expand Up @@ -60,7 +60,7 @@ def self.type_priority(type)

def value_before_type_cast
return self[:value] if errors[:value].present?
format_value_before_type_cast(value)
self.class.format_value_before_type_cast(value, key_type)
end

def hash_for_include_source(source, source_name = nil)
Expand Down
2 changes: 1 addition & 1 deletion app/views/common_parameters/_form.html.erb
Expand Up @@ -5,7 +5,7 @@
<%= textarea_f f, :value, :value => f.object.value_before_type_cast, :size => "col-md-8",
:rows => line_count(f, :value),
:input_group_btn => fullscreen_input,
:class => "form-control #{'masked-input' if @common_parameter.hidden_value?}" %>
:class => "form-control no-stretch #{'masked-input' if @common_parameter.hidden_value?}" %>
<%= checkbox_f f, :hidden_value, :class => 'hidden_value_textarea_switch', :onchange => 'turn_textarea_switch()', :checked => f.object.hidden_value? %>

<input type="hidden" id="old" value="<%= @common_parameter.value %>" />
Expand Down

0 comments on commit b89b8cb

Please sign in to comment.