Skip to content
Snippets Groups Projects
Commit cbe9ff6c authored by Flavio TARSETTI's avatar Flavio TARSETTI
Browse files

[plotters] display only "unique" names for existing plotterparameters for:

* new plotterparameter
* fork
parent 06580aa6
No related branches found
No related tags found
No related merge requests found
...@@ -87,9 +87,20 @@ getNames(); ...@@ -87,9 +87,20 @@ getNames();
function getNames() { function getNames() {
{% if action != 'pending' %} {# experiment name was not selected #} {% if action != 'pending' %} {# experiment name was not selected #}
var d = $.get('{% url "api_plotters:view" request.user.username %}?fields=name,author'); var d = $.get('{% url "api_plotters:view" request.user.username %}?fields=name,author');
var duplicates = [];
d.done(function(data) { d.done(function(data) {
//filter returned names to only keep author experiments' names //filter returned names to only keep author experiments' names
data = data.filter(function(e) { //remove duplicate names
finaldata = [];
for(var i=0; i<data.length; i++)
{
if(!duplicates.includes(data[i].name.split("/")[1]) && data[i].author == {{ request.user.id }})
{
finaldata.push(data[i]);
duplicates.push(data[i].name.split("/")[1]);
}
}
data = finaldata.filter(function(e) {
return (e.author == {{ request.user.id }}); return (e.author == {{ request.user.id }});
}).map(function(e){ return e.name.split("/")[1]; }); }).map(function(e){ return e.name.split("/")[1]; });
beat.plotterparameters.dialogs.name_typeahead('input#settings_name', data); beat.plotterparameters.dialogs.name_typeahead('input#settings_name', data);
......
...@@ -117,4 +117,38 @@ ...@@ -117,4 +117,38 @@
<script type="text/javascript"> <script type="text/javascript">
getNames();
{# sets up the name input box so you can get auto-completion #}
function getNames() {
{% if action != 'pending' %} {# experiment name was not selected #}
var d = $.get('{% url "api_plotters:view" request.user.username %}?fields=name,author');
var duplicates = [];
d.done(function(data) {
//filter returned names to only keep author experiments' names
//remove duplicate names
finaldata = [];
for(var i=0; i<data.length; i++)
{
if(!duplicates.includes(data[i].name.split("/")[1]) && data[i].author == {{ request.user.id }})
{
finaldata.push(data[i]);
duplicates.push(data[i].name.split("/")[1]);
}
}
data = finaldata.filter(function(e) {
return (e.author == {{ request.user.id }});
}).map(function(e){
return e.name.split("/")[1];
});
beat.plotterparameters.dialogs.name_typeahead('input#settings_name', data);
});
{% else %}
var d = $.Deferred();
{# notice we cannot hide now, it is not meaningful #}
$('#ui').on('show', function(){$('#settings_name-div').hide()});
d.resolve();{# fires immediately #}
{% endif %}
return d.promise();
}
</script> </script>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment