Skip to content

Commit

Permalink
Modify dynamic loading based on whether it is initial load or a refresh
Browse files Browse the repository at this point in the history
  • Loading branch information
eclarizio committed Apr 23, 2018
1 parent 3e69e11 commit 9c7dadf
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 7 deletions.
12 changes: 11 additions & 1 deletion app/models/dialog.rb
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,19 @@ def validate_field_data
result
end

def init_fields_with_values(values)
def load_values_into_fields(values)
dialog_field_hash.each do |_key, field|
field.dialog = self
field.value = values[field.automate_key_name] || values[field.name]
end
end

def initialize_value_context(values)
dialog_field_hash.each do |key, field|
field.dialog = self
end

dialog_field_hash.each do |_key, field|
field.initialize_value_context
end
end
Expand Down
5 changes: 5 additions & 0 deletions app/models/dialog_field.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ def self.field_types
FIELD_CONTROLS
end

def extract_dynamic_values
value
end

def initialize_value_context
@value = values_from_automate if dynamic && @value.blank?
end
Expand Down Expand Up @@ -127,6 +131,7 @@ def resource
end

def update_and_serialize_values
trigger_automate_value_updates
DialogFieldSerializer.serialize(self)
end

Expand Down
2 changes: 1 addition & 1 deletion app/models/dialog_field_check_box.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def refresh_json_value
end

def trigger_automate_value_updates
values_from_automate
@value = values_from_automate
end

private
Expand Down
2 changes: 1 addition & 1 deletion app/models/dialog_field_date_control.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def refresh_json_value
end

def trigger_automate_value_updates
values_from_automate
@value = values_from_automate
end

private
Expand Down
4 changes: 2 additions & 2 deletions app/models/dialog_field_serializer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ def serialize(dialog_field, all_attributes = false)
}

if dialog_field.dynamic?
dynamic_values = dialog_field.trigger_automate_value_updates
extra_attributes["values"] = dynamic_values
# dynamic_values = dialog_field.trigger_automate_value_updates
extra_attributes["values"] = dialog_field.extract_dynamic_values
end

if dialog_field.type == "DialogFieldTagControl"
Expand Down
4 changes: 4 additions & 0 deletions app/models/dialog_field_sorted_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ def values
raw_values
end

def extract_dynamic_values
@raw_values
end

def get_default_value
trigger_automate_value_updates
default_value
Expand Down
2 changes: 1 addition & 1 deletion app/models/dialog_field_text_box.rb
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def refresh_json_value
end

def trigger_automate_value_updates
values_from_automate
@value = values_from_automate
end

private
Expand Down
4 changes: 3 additions & 1 deletion app/models/resource_action_workflow.rb
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,10 @@ def load_dialog(resource_action, values, options)
dialog.target_resource = @target
if options[:display_view_only]
dialog.init_fields_with_values_for_request(values)
elsif options[:refresh]
dialog.load_values_into_fields(values)
else
dialog.init_fields_with_values(values)
dialog.initialize_value_context(values)
end
end
dialog
Expand Down

0 comments on commit 9c7dadf

Please sign in to comment.