Merge branch 'master' into 3782-large-job-logs
[arvados.git] / apps / workbench / app / views / application / _choose.js.erb
index 0f5b65462e0bc3fb25319e1b243c1dfcbb948c6e..17223349521c055d80576ede6edac40a614f353b 100644 (file)
@@ -1,13 +1,27 @@
 <%
-  if params['move_items']
-    session[:selected_move_items] = params['move_items']
-  end
+=begin
+
+Parameters received from the caller/requestor of the modal are
+attached to the action button (.btn-primary) as follows:
+
+action_class -- string -- added as a pseudoclass to the action button.
+
+action_href -- string -- will be available at $(btn).attr('data-action-href')
+
+action_data -- json-encoded object -- will be at $(btn).data('action-data')
+
+action_data_form_params -- array -- for each X in this array, the
+value of params[X] during this "show chooser" request will be in
+$(btn).data('action-data-from-params')[X].
+
+=end
 %>
+
 $('body > .modal-container').html("<%= escape_javascript(render partial: 'choose.html', locals: {multiple: multiple}) %>");
 $('body > .modal-container .modal').modal('show');
 $('body > .modal-container .modal .modal-footer .btn-primary').
     addClass('<%= j params[:action_class] %>').
     attr('data-action-href', '<%= j params[:action_href] %>').
     attr('data-method', '<%= j params[:action_method] %>').
-    data('action-data', <%= raw params[:action_data] %>);
-$('body > .modal-container .modal .focus-on-display').focus();
+    data('action-data', <%= raw params[:action_data] %>).
+    data('action-data-from-params', <%= raw params.select { |k,v| k.in?(params[:action_data_from_params] || []) }.to_json %>);