package EnsEMBL::Web::Component::UserData::SelectURL; use strict; use warnings; no warnings "uninitialized"; use base qw(EnsEMBL::Web::Component::UserData); use EnsEMBL::Web::RegObj; sub _init { my $self = shift; $self->cacheable( 0 ); $self->ajaxable( 0 ); } sub caption { my $self = shift; return ''; } sub content { my $self = shift; my $object = $self->object; my $form = $self->modal_form('select_url', '/'.$object->data_species.'/UserData/AttachURL', {'wizard' => 1, 'back_button' => 0}); my $user = $ENSEMBL_WEB_REGISTRY->get_user; my $referer = '_referer='.$self->object->param('_referer').';x_requested_with='.$self->object->param('x_requested_with'); my $sitename = $object->species_defs->ENSEMBL_SITETYPE; my $current_species = $object->data_species; # URL-based section $form->add_notes({'heading'=>'Tip', 'text'=>qq(Accessing data via a URL can be slow if the file is large, but the data you see is always the same as the file on your server. For faster access, you can <a href="/$current_species/UserData/Upload?$referer" class="modal_link">upload files</a> to $sitename (only suitable for small, single-species datasets).<br /><br />Note also that large files will be parsed into density tracks to avoid overloading our system; if you wish to examine an area in detail, you should attach another file with a more limited set of features.)}); $form->add_element('type' => 'String', 'name' => 'url', 'label' => 'File URL', 'size' => '30', 'value' => $object->param('url'), 'notes' => '( e.g. http://www.example.com/MyProject/mydata.gff )'); $form->add_element('type' => 'String', 'name' => 'name', 'label' => 'Name for this track', 'size' => '30', ); if ($user && $user->id) { $form->add_element('type' => 'CheckBox', 'name' => 'save', 'label' => 'Save URL to my account', 'notes' => 'N.B. Only the file address will be saved, not the data itself', ); } return $form->render; } 1;