Dear Keith,

I don't know the best way but this work for us. It is used in cooperation with
ACE editor (written in JS):

        <script type="text/javascript" charset="utf-8">
        var hist_id = null;
      
        $(function() {
            var address = '${prefix}/history/current_history_json';
            $.get(address, function(resp) {
                if (resp && resp.id)
                    hist_id = resp.id;
            });
            $('#save_btn').on('click', function() {
                var cont = ace.edit('editor').getValue();    # or any other
data, you need to save in new file, here, the data are textual
                var dInputs = {
                    dbkey: '?',
                    file_type: 'auto',
                    'files_0|type': 'upload_dataset',
                    'files_0|space_to_tab': null,
                    'files_0|to_posix_lines': 'Yes'
                };
          
                var formData = new FormData();
                formData.append('tool_id', 'upload1');
                formData.append('history_id', hist_id);
                formData.append('inputs', JSON.stringify(dInputs));
                formData.append('files_0|file_data', new Blob([cont], {type:
'text/plain'}), $('#editor').attr('file-name'));
          
                $.ajax({
                    url: '${prefix}/api/tools',
                    data: formData,
                    processData: false,
                    contentType: false,
                    type: 'POST',
                    success: function (resp) {
                        # this part is there to refresh the history panel
otherwise it seems not to turn green
                        window.setTimeout(function() {
                            
window.parent.$('#history-refresh-button').trigger('click');
                        }, 3000);
                    }
                });
            });
        });
        </script>

I hope it helps you.

Best regards,
Martin Demko


Keith Suderman <[email protected]> wrote on Mon, 23 Apr 2018 15:38:19
-0400:
> My Google-Fu is failing me...
> 
> We have a visualization plugin that can also serve as an editor to modify
> the data it is visualizing.  What is the best way to save the data from the
> visualizer back to Galaxy?
> 
> I seem to recall reading (somewhere, sometime) that the REST API could not
> do this and the "best" solution is to invoke the upload tool to upload data
> into the current history.  I have used the upload tool from the Python and
> Blend4J APIs, but I can not find a JavaScript example for invoking the
> upload tool.
> 
> So two questions:
> 
> 1. Is the upload tool (still) the recommended way to put data into the
> current history via API calls?
> 2. How do I invoke the upload tool from JavaScript?
> 
> Thanks,
> Keith
> 
> ----------------------
> Keith Suderman
> Research Associate
> Department of Computer Science
> Vassar College, Poughkeepsie NY
> [email protected]
> 
> 
> 
>
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/

Reply via email to