a[key] = {};
a[key][params.name] = params.value;
return a;
-};
\ No newline at end of file
+};
+
+(function() {
+ $.fn.editable.defaults.success = function (response, newValue) {
+ var tag = $(this);
+ if (tag.hasClass("required")) {
+ if (newValue && newValue.trim() != "") {
+ tag.parent().css("background-color", "");
+ tag.parent().prev().css("background-color", "");
+ }
+ else {
+ tag.parent().css("background-color", "#ffdddd");
+ tag.parent().prev().css("background-color", "#ffdddd");
+ }
+ }
+ }
+
+ $(window).on('load', function() {
+ var a = $('a.editable.required');
+ for (var i = 0; i < a.length; i++) {
+ var tag = $(a[i]);
+ if (tag.hasClass("editable-empty")) {
+ tag.parent().css("background-color", "#ffdddd");
+ tag.parent().prev().css("background-color", "#ffdddd");
+ }
+ else {
+ tag.parent().css("background-color", "");
+ tag.parent().prev().css("background-color", "");
+ }
+ }
+ } );
+
+})();
}
return ret;
};
-})();
\ No newline at end of file
+})();
+
if param_value.is_a? Hash
if param_value[:value]
pipeline[component_name][:script_parameters][param_name] = param_value[:value]
+ elsif param_value[:default]
+ pipeline[component_name][:script_parameters][param_name] = param_value[:default]
elsif param_value[:optional] and param_value.length == 1
pipeline[component_name][:script_parameters][param_name] = ""
else
end
datatype = nil
+ required = true
if template
puts "Template is #{template.class} #{template.is_a? Hash} #{template}"
if template.is_a? Hash
if template[:output_of]
return raw("<span class='label label-default'>#{template[:output_of]}</span>")
- elsif template[:datatype]
+ end
+ if template[:datatype]
datatype = template[:datatype]
end
+ if template[:optional] != nil
+ required = (template[:optional] != "true")
+ end
+ if template[:required] != nil
+ required = template[:required]
+ end
end
end
dn += "[#{a}]"
end
+ if attrvalue.is_a? String
+ attrvalue = attrvalue.strip
+ end
+
if dataclass
items = []
dataclass.where(uuid: attrvalue).each do |item|
"data-url" => url_for(action: "update", id: object.uuid, controller: object.class.to_s.pluralize.underscore),
"data-title" => "Update #{subattr[-1].to_s.titleize}",
"data-name" => dn,
- "data-value" => attrvalue,
"data-pk" => "{id: \"#{object.uuid}\", key: \"#{object.class.to_s.underscore}\"}",
- :class => "editable",
+ "data-showbuttons" => "false",
+ :class => "editable #{'required' if required}",
:id => id
}.merge(htmloptions)
- lt += raw(<<EOF
+ lt += raw('<script>')
+
+ if items and items.length > 0
+ lt += raw("add_form_selection_sources(#{items.to_json});\n")
+ end
+
+ lt += raw("$('##{id}').editable({source: function() { return select_form_sources('#{dataclass}'); } });\n")
+
+ lt += raw("</script>")
-<script>
- add_form_selection_sources(#{items.to_json});
- $('##{id}').editable({source: function() { return select_form_sources('#{dataclass}'); } });
-</script>
-EOF
-)
lt
end
end
text-overflow: ellipsis;
}
+td.required {
+ background: #ffdddd;
+}
+
<% end %>
<% if @object.active != nil %>
</th><th>
parameter
</th><th>
- input
+ value
</th>
</tr>
</thead>
<tbody>
<% template = PipelineTemplate.find(@object.pipeline_template_uuid) %>
- <% template.components.each do |k, v| %>
-
- <% sp = v[:script_parameters].collect do |x, y| [x, y] end %>
+ <% template.components.each do |k, template_value| %>
<tr>
<td><span class="label label-default"><%= k %></span></td>
- <td><%= v[:script] %></td>
+ <td><%= render_editable_subattribute @object, :components, [k, :script], template_value[:script] %></td>
- <td>script_version</td>
+ <td>script version</td>
<td>
- <%= render_editable_subattribute @object, :components, [k, :script_version], v[:script_version] %>
+ <%= render_editable_subattribute @object, :components, [k, :script_version], template_value[:script_version] %>
</td>
</tr>
- <% if sp.length > 0 %>
- <tr>
- <td style="border-top: none"></td>
- <td style="border-top: none"></td>
-
- <% sp.each do |p| %>
- <td><%= p[0] %></td>
- <td><%= render_editable_subattribute @object, :components, [k, :script_parameters, p[0].to_sym], p[1] %></td>
+ <% if template_value[:script_parameters].length > 0 %>
+ <% template_value[:script_parameters].each do |p, tv| %>
+ <tr>
+ <td style="border-top: none"></td>
+ <td style="border-top: none"></td>
+
+ <td class="property-edit-row"><%= p %></td>
+ <td class="property-edit-row"><%= render_editable_subattribute @object, :components, [k, :script_parameters, p.to_sym], tv %></td>
<% end %>
- </tr>
- <% end %>
+ </tr>
+ <% end %>
<% end %>
</tbody>
</table>