myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2838] branches/datasets: Removed unused code.


From: noreply
Subject: [myexperiment-hackers] [2838] branches/datasets: Removed unused code.
Date: Wed, 23 Nov 2011 10:46:20 -0500 (EST)

Revision
2838
Author
fbacall
Date
2011-11-23 10:46:19 -0500 (Wed, 23 Nov 2011)

Log Message

Removed unused code. Added ability to download a data set as a zip file.

Modified Paths

Removed Paths

Diff

Modified: branches/datasets/app/controllers/data_sets_controller.rb (2837 => 2838)


--- branches/datasets/app/controllers/data_sets_controller.rb	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/controllers/data_sets_controller.rb	2011-11-23 15:46:19 UTC (rev 2838)
@@ -49,6 +49,10 @@
     end
   end
 
+  def download
+    send_file @data_set.create_zip(current_user), :disposition => 'attachment'
+  end
+
   def new
     @data_set = DataSet.new
     respond_to do |format|

Modified: branches/datasets/app/controllers/workflows_controller.rb (2837 => 2838)


--- branches/datasets/app/controllers/workflows_controller.rb	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/controllers/workflows_controller.rb	2011-11-23 15:46:19 UTC (rev 2838)
@@ -20,8 +20,6 @@
   before_filter :check_custom_workflow_type, : [:create, :create_version]
   
   before_filter :check_is_owner, : [:edit, :update]
-  
-  #todo: remove? before_filter :get_example_data_sets, : [:tag_suggestions, :extra_metadata]
 
   # declare sweepers and which actions should invoke them
   cache_sweeper :workflow_sweeper, : [ :create, :create_version, :launch, :update, :update_version, :destroy_version, :destroy ]
@@ -639,20 +637,10 @@
   end
   
   def tag_suggestions
-
     @suggestions = @workflow.get_tag_suggestions
-
   end
 
-  def extra_metadata
-  end
-
   def process_tag_suggestions
-
-    def form_name(*bits)
-      bits.join("_")
-    end
-
     if params[:workflow] && params[:workflow][:body]
       @workflow.body = params[:workflow][:body]
       @workflow.save
@@ -662,184 +650,6 @@
       @workflow.add_tag(tag.strip, current_user)
     end
 
-    begin
-
-      # Fetch the existing data structure
-
-      data_sets = DataSet.find(:all,
-          :conditions => ["contributable_type = ? AND contributable_id = ? AND category = ? AND user_id = ?",
-          @workflow.class.name, @workflow.id, 'example', current_user])
-
-      # Parse form data
-
-      form_data = (0..params[form_name(["ds", "count"])].to_i - 1).map do |s|
-        {
-          ".id"   => params[form_name(["ds", s, ".id"])],
-          "title" => params[form_name(["ds", s, "title"])],
-          "desc"  => params[form_name(["ds", s, "desc"])],
-
-          "inputs" => (0..params[form_name(["ds", s, "input",  "count"])].to_i - 1).map do |i|
-            { ".id"   => params[form_name(["ds", s, "input", i, ".id"])],
-              "label" => params[form_name(["ds", s, "input", i, "label"])],
-              "data"  => params[form_name(["ds", s, "input", i, "data"])]
-            }
-          end,
-
-          "outputs" => (0..params[form_name(["ds", s, "output", "count"])].to_i - 1).map do |o|
-            { ".id"   => params[form_name(["ds", s, "output", o, ".id"])],
-              "label" => params[form_name(["ds", s, "output", o, "label"])],
-              "data"  => params[form_name(["ds", s, "output", o, "data"])]
-            }
-          end
-        }
-      end
-
-      # Update the data structure
-
-      pre_ds_ids  = data_sets.map do |ds| ds.id end
-      post_ds_ids = (form_data.map do |ds| ds[".id"] end - [nil]).map do |id| id.to_i end
-
-      # Update data sets
-
-      data_sets.each do |ds_ob|
-
-        if post_ds_ids.include?(ds_ob.id)
-
-          form_ds = form_data.select do |ds| ds[".id"] && (ds[".id"].to_i == ds_ob.id) end.first
-
-          update_ds = false
-
-          if ds_ob.title != form_ds["title"]
-            ds_ob.title = form_ds["title"]
-            updated_ds = true
-          end
-
-          if ds_ob.description != form_ds["desc"]
-            ds_ob.description = form_ds["desc"]
-            updated_ds = true
-          end
-
-          input_obs  = ds_ob.data_items.select do |di| di.category == "input"  end
-          output_obs = ds_ob.data_items.select do |di| di.category == "output" end
-
-          pre_input_ids  = input_obs.map  do |di| di.id end
-          pre_output_ids = output_obs.map do |di| di.id end
-
-          post_input_ids  = (form_ds["inputs"].map do |input| input[".id"] end - [nil]).map do |input| input.to_i end
-
-          post_output_ids = (form_ds["outputs"].map do |output| output[".id"] end - [nil]).map do |output| output.to_i end
-
-          # Update inputs
-
-          input_obs.each do |input_ob|
-
-            if post_input_ids.include?(input_ob.id)
-
-              updated_input = false
-
-              form_input = form_ds["inputs"].select do |input| input[".id"] && (input[".id"].to_i == input_ob.id) end.first
-
-              if input_ob.label != form_input["label"]
-                input_ob.label = form_input["label"]
-                updated_input = true
-              end
-
-              if input_ob.data != form_input["data"]
-                input_ob.data = ""
-                updated_input = true
-              end
-
-              if updated_input
-                input_ob.save
-                updated_ds = true
-              end
-            end
-          end
-
-          # Create inputs
-
-          form_ds["inputs"].select do |input| input[".id"].nil? end.each do |input|
-            DataItem.create(:data_set => ds_ob, :category => "input",
-                :label => input["label"], :data ="" input["data"])
-          end
-            
-          # Delete inputs
-
-          (pre_input_ids - post_input_ids).each do |id|
-            DataItem.destroy(id)
-          end
-
-          # Update outputs
-
-          output_obs.each do |output_ob|
-
-            if post_output_ids.include?(output_ob.id)
-
-              updated_output = false
-
-              form_output = form_ds["outputs"].select do |output| output[".id"] && (output[".id"].to_i == output_ob.id) end.first
-
-              if output_ob.label != form_output["label"]
-                output_ob.label = form_output["label"]
-                updated_output = true
-              end
-
-              if output_ob.data != form_output["data"]
-                output_ob.data = ""
-                updated_output = true
-              end
-
-              if updated_output
-                output_ob.save
-                updated_ds = true
-              end
-            end
-          end
-
-          # Create outputs
-
-          form_ds["outputs"].select do |output| output[".id"].nil? end.each do |output|
-            DataItem.create(:data_set => ds_ob, :category => "output",
-                :label => output["label"], :data ="" output["data"])
-          end
-            
-          # Delete outputs
-
-          (pre_output_ids - post_output_ids).each do |id|
-            DataItem.destroy(id)
-          end
-
-          ds_ob.save if updated_ds
-        end
-      end
-
-      # Create data sets
-
-      form_data.select do |ds| ds[".id"].nil? end.each do |ds|
-
-        ds_ob = DataSet.create(:contributable => @workflow, :user => current_user,
-            :category => 'example', :title => ds["title"], :description => ds["desc"])
-
-        ds["inputs"].each do |input|
-          DataItem.create(:data_set => ds_ob, :category => "input",
-              :label => input["label"], :data ="" input["data"])
-        end
-
-        ds["outputs"].each do |output|
-          DataItem.create(:data_set => ds_ob, :category => "output",
-              :label => output["label"], :data ="" output["data"])
-        end
-      end
-
-      # Delete data sets
-
-      (pre_ds_ids - post_ds_ids).each do |id|
-        DataSet.destroy(id)
-      end
-
-    rescue
-    end
-
     redirect_to(workflow_url(@workflow))
   end
 
@@ -1243,29 +1053,5 @@
     return ok
   end
 
-  def get_example_data_sets
-
-    @data_sets = DataSet.find(:all,
-        :conditions => ["contributable_type = ? AND contributable_id = ? AND category = ? AND user_id = ?",
-        @workflow.class.name, @workflow.id, 'example', current_user.id]).map do |data_set|
-
-      { "title"   => data_set.title,
-        "desc"    => data_set.description,
-        ".id"     => data_set.id,
-
-        "inputs"  => data_set.data_items.select do |item|
-          item.category == 'input'
-        end.map do |input|
-          { ".id" => input.id, "label" => input.label, "data" => input.data }
-        end,
-
-        "outputs" => data_set.data_items.select do |item|
-          item.category == 'output'
-        end.map do |output|
-          { ".id" => output.id, "label" => output.label, "data" => output.data }
-        end
-      }
-    end
-  end
 end
 

Modified: branches/datasets/app/models/data_set.rb (2837 => 2838)


--- branches/datasets/app/models/data_set.rb	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/models/data_set.rb	2011-11-23 15:46:19 UTC (rev 2838)
@@ -5,6 +5,8 @@
 
 class DataSet < ActiveRecord::Base
 
+  include ActionController::UrlWriter #To generate URLs for the metadata file of the zip archive
+
   acts_as_site_entity
 
   validates_presence_of :title
@@ -14,12 +16,99 @@
   belongs_to :workflow
   belongs_to :contributor, :polymorphic => true
 
-  #todo: Rails 2: can probably use separate finders for input/output relationships as it supports conditions on
-  # joined tables;
+  #The "data items" are represented as relationships. Subject = data, Object = port
   has_many :relationships, :class_name => "Relationship", :as => :context,
            :dependent => :destroy
 
   #this association is just to ensure text data is deleted when the data set is. not actually used.
   has_many :text_datas, :dependent => :destroy
 
+
+  # Zip/archiving stuff below taken from pack model
+
+  # Zips the pack up and returns the path to the zip file
+  def create_zip(user)
+    #Make folder if it doesn't exist
+    FileUtils.mkdir(Pack.archive_folder) if !File.exists?(DataSet.archive_folder)
+    #Remove existing archive
+    FileUtils.rm Dir.glob(archive_file_path(true).gsub(/[\[\]]/, "?")), :force => true
+
+    #Create the zip file
+    zipfile = Zip::ZipFile.open(archive_file_path, Zip::ZipFile::CREATE)
+
+    #Add the data
+    relationships.each do |r|
+      add_data_item_to_zip(user, zipfile, r)
+    end
+
+    #Add metadata
+    zipfile.get_output_stream("_metadata.txt") do |stream|
+      stream.write("********** Snapshot of the data set: #{self.title} **********\r\n\r\n")
+      stream.write("Downloaded from #{Conf.sitename}\r\n")
+      stream.write("Snapshot generated at #{Time.now.strftime("%H:%M:%S on %A, %d %B %Y")}\r\n\r\n")
+      stream.write("========== Data Set Details ==========\r\n\r\n")
+      stream.write("Title: #{title}\r\n")
+      stream.write("Location: #{workflow_data_set_url(workflow, self)}\r\n")
+      stream.write("Workflow: #{workflow.title}\r\n")
+      stream.write("Workflow location: #{workflow_url(workflow)}\r\n")
+      stream.write("Created by: #{self.contributor.label}\r\n")
+      stream.write("Created at: #{self.created_at.strftime("%H:%M:%S on %A, %d %B %Y")}\r\n")
+      stream.write("Last updated at: #{self.updated_at.strftime("%H:%M:%S on %A, %d %B %Y")}\r\n")
+    end
+
+    #Close and give read permissions
+    zipfile.close()
+    File.chmod(0644, archive_file_path)
+
+    #Remove temp files
+    zip_filenames.each do |temp_file|
+      FileUtils.rm Dir.glob(DataSet.archive_folder + "/" + "#{temp_file}.*"), :force => true
+    end
+
+    archive_file_path
+  end
+
+  private
+
+  def self.archive_folder
+    # single declaration point of where the zip archives for downloadable data sets would live
+    return "tmp/data_sets"
+  end
+
+  def archive_file(no_timestamp=false)
+    # the name of the zip file, where contents of current data set will be placed
+    filename =  "[DATA SET] #{self.title.gsub(/[^\w\.\-]/,'_').downcase}"
+    filename += (no_timestamp ? "*" :  " - #{Time.now.strftime('%Y-%m-%d @ %H%M')}")
+    filename += ".zip"
+    return filename
+  end
+
+  def archive_file_path(no_timestamp=false)
+    # "#{Conf.base_uri}/packs/#{id}/download/pack_#{id}.zip"
+    return(DataSet.archive_folder + "/" + archive_file(no_timestamp))
+  end
+
+  def add_data_item_to_zip(user, zipfile, data_item)
+    data = ""
+    port = data_item.objekt
+
+    if data.kind_of?(Blob)
+      if Authorization.is_authorized?("download", nil, data, user)
+        filename = zipfile.get_output_stream("#{port.port_type}s/#{port.name} - #{data.local_name}") do |stream|
+          stream.write(data.content_blob.data)
+        end
+        return filename
+      else
+        return false
+      end
+    elsif data.kind_of?(TextData)
+      filename = zipfile.get_output_stream("#{port.port_type}s/#{port.name} - text.txt") do |stream|
+        stream.write(data.data)
+      end
+      return filename
+    else
+      raise "Unsupported data type"
+    end
+  end
+
 end

Modified: branches/datasets/app/views/data_sets/index.rhtml (2837 => 2838)


--- branches/datasets/app/views/data_sets/index.rhtml	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/views/data_sets/index.rhtml	2011-11-23 15:46:19 UTC (rev 2838)
@@ -1,7 +1,9 @@
 <ul class="sectionIcons">
-  <li>
-    <%= icon('new', new_workflow_data_set_path(@workflow), nil, nil, 'Create new data set') %>
-  </li>
+  <% if mine?(@workflow) %>
+    <li>
+      <%= icon('new', new_workflow_data_set_path(@workflow), nil, nil, 'Create new data set') %>
+    </li>
+  <% end %>
 </ul>
 
 <h1>Data Sets</h1>

Modified: branches/datasets/app/views/data_sets/show.rhtml (2837 => 2838)


--- branches/datasets/app/views/data_sets/show.rhtml	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/views/data_sets/show.rhtml	2011-11-23 15:46:19 UTC (rev 2838)
@@ -7,6 +7,9 @@
   </div>
   <div style="float: right; margin: 0.5em">
     <ul class="sectionIcons">
+      <li>
+        <%= icon('download', download_workflow_data_set_path(@workflow, @data_set), nil, nil, 'Download data set') %>
+      </li>
       <% if mine?(@workflow) %>
         <li>
           <%= icon('edit', edit_workflow_data_set_path(@workflow, @data_set), nil, nil, 'Edit data set') %>

Deleted: branches/datasets/app/views/workflows/_data_sets_form.rhtml (2837 => 2838)


--- branches/datasets/app/views/workflows/_data_sets_form.rhtml	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/views/workflows/_data_sets_form.rhtml	2011-11-23 15:46:19 UTC (rev 2838)
@@ -1,6 +0,0 @@
-<div id="data_sets"></div>
-
-<input type="button"  return false;" value="Add new set of example inputs / outputs" />
-
-<script type="text/_javascript_" src=""
-<script type="text/_javascript_">renderDataSets(<%= data_sets.to_json %>)</script>

Deleted: branches/datasets/app/views/workflows/extra_metadata.rhtml (2837 => 2838)


--- branches/datasets/app/views/workflows/extra_metadata.rhtml	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/views/workflows/extra_metadata.rhtml	2011-11-23 15:46:19 UTC (rev 2838)
@@ -1,14 +0,0 @@
-<%= _javascript__include_tag :fckeditor %>
-
-<h1>Example inputs / outputs</h1>
-
-<form id="metadata" action="" "/workflows/address@hidden/process_extra_metadata" %>" method="post">
-
-  <%= render :partial => "data_sets_form", :locals => { :data_sets => @data_sets, :default_ports => @default_ports } %>
-
-  <p style="text-align: center">
-    <input id="submit-button" type="submit" value="Update" />
-  </p>
-
-</form>
-

Modified: branches/datasets/app/views/workflows/tag_suggestions.rhtml (2837 => 2838)


--- branches/datasets/app/views/workflows/tag_suggestions.rhtml	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/app/views/workflows/tag_suggestions.rhtml	2011-11-23 15:46:19 UTC (rev 2838)
@@ -38,10 +38,6 @@
 
   <div id="summary-text"></div>
 
-  <h1>Example inputs / outputs</h1>
-
-  <%= render :partial => "data_sets_form", :locals => { :data_sets => @data_sets, :default_ports => @default_ports } %>
-
   <h2>Finish</h2>
 
   <p>Complete the upload process.</p>

Modified: branches/datasets/config/routes.rb (2837 => 2838)


--- branches/datasets/config/routes.rb	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/config/routes.rb	2011-11-23 15:46:19 UTC (rev 2838)
@@ -118,8 +118,6 @@
                  :destroy_version => :delete, 
                  :edit_version => :get, 
                  :update_version => :put, 
-                 :process_extra_metadata => :post,
-                 :extra_metadata => :get,
                  :process_tag_suggestions => :post,
                  :tag_suggestions => :get } do |workflow|
     # workflows have nested citations
@@ -127,7 +125,7 @@
     workflow.resources :reviews
     workflow.resources :previews
     workflow.resources :comments, :collection => { :timeline => :get }
-    workflow.resources :data_sets
+    workflow.resources :data_sets, :member => { :download => :get }
   end
 
   #todo: Rails 2. Nest this in the above and use :shallow => true

Deleted: branches/datasets/public/_javascript_s/data_sets.js (2837 => 2838)


--- branches/datasets/public/_javascript_s/data_sets.js	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/public/_javascript_s/data_sets.js	2011-11-23 15:46:19 UTC (rev 2838)
@@ -1,200 +0,0 @@
-// myExperiment: app/controllers/workflows_controller.rb
-// 
-// Copyright (c) 2010 University of Manchester and the University of Southampton.
-// See license.txt for details.
-
-function form_name() {
-  return Array.prototype.slice.call(arguments).join("_"); 
-}
-
-function saveDataSets() {
-
-  function saveOptionalField(name, key, outputHash) {
-
-    value_el = document.forms["metadata"][name]
-
-    if (value_el == undefined)
-      return;
-
-    outputHash[key] = value_el.value;
-  }
-
-  var data_set_count = parseInt(document.forms["metadata"][form_name("ds", "count")].value)
-
-  var data_sets = [];
-
-  for (var s = 0; s < data_set_count; s++) {
-    var data_set = {
-      "title" : document.forms["metadata"][form_name("ds", s, "title")].value,
-      "desc"  : document.forms["metadata"][form_name("ds", s, "desc")].value
-    };
-
-    saveOptionalField(form_name("ds", s, ".id"), ".id", data_set);
-
-    data_set["inputs"]  = []
-    data_set["outputs"] = []
-
-    var input_count  = parseInt(document.forms["metadata"][form_name("ds", s, "input",  "count")].value);
-    var output_count = parseInt(document.forms["metadata"][form_name("ds", s, "output", "count")].value);
-
-    for (var i = 0; i < input_count; i++) {
-
-      input = {
-        "label" : document.forms["metadata"][form_name("ds", s, "input", i, "label")].value,
-        "data"  : document.forms["metadata"][form_name("ds", s, "input", i, "data")].value
-      };
-     
-      saveOptionalField(form_name("ds", s, "input", i, ".id"), ".id", input);
-
-      data_set["inputs"].push(input);
-    }
-
-    for (var o = 0; o < output_count; o++) {
-
-      output = {
-        "label" : document.forms["metadata"][form_name("ds", s, "output", o, "label")].value,
-        "data"  : document.forms["metadata"][form_name("ds", s, "output", o, "data")].value
-      };
-
-      saveOptionalField(form_name("ds", s, "output", o, ".id"), ".id", output)
-
-      data_set["outputs"].push(output);
-    }
-
-    data_sets.push(data_set);
-  }
-
-  return data_sets;
-}
-
-function renderDataSets(data_sets) {
-
-  function renderOptionalField(name, value) {
-    if (value == undefined) {
-      return "";
-    } else {
-      return "<input type='hidden' name='" + name + "' value='" + value + "'></input>";
-    }
-  }
-
-  var markup = "";
-
-  markup += "<input type='hidden' name='" + form_name("ds", "count") + "' value='" + data_sets.length + "'></input>";
-
-  if (data_sets.length == 0) {
-
-    markup += "<p><i>You have not provided any example data sets.</i></p>";
-
-  } else {
-
-    for (var s = 0; s < data_sets.length; s++) {
-
-      var data_set = data_sets[s];
-
-      markup += "<div class=\"form\">";
-      markup += renderOptionalField(form_name("ds", s, ".id"), data_set[".id"]);
-      markup += "<input type='hidden' name='" + form_name("ds", s, "input", "count") + "' value='" + data_set["inputs"].length + "'></input>"
-      markup += "<input type='hidden' name='" + form_name("ds", s, "output", "count") + "' value='" + data_set["outputs"].length + "'></input>"
-
-      markup += "  <div class=\"dataset\">";
-      markup += "    <div class=\"form-triple\">";
-      markup += "      <div class=\"form-label\">Title</div>";
-      markup += "      <div class=\"form-data\"><input class=\"dataset-title\" name=\"" + form_name("ds", s, "title") + "\" value=\"" + data_set["title"] + "\" /></div>";
-      markup += "      <div class=\"form-action\"></div>";
-      markup += "    </div>";
-      markup += "    <div class=\"form-triple\">";
-      markup += "      <div class=\"form-label\">Description</div>";
-      markup += "      <div class=\"form-data\"><textarea class=\"dataset-description\" id=\"" + form_name("ds", s, "desc") + "\" name=\"" + form_name("ds", s, "desc") + "\">" + data_set["desc"] + "</textarea></div>";
-      markup += "      <div class=\"form-action\"></div>";
-      markup += "    </div>";
-      markup += "    <table class=\"dataset-table\">";
-      markup += "      <thead>";
-      markup += "        <tr>";
-      markup += "          <th class=\"form-label\">Input</th>";
-      markup += "          <th class=\"form-data\">Value</th>";
-      markup += "        </tr>";
-      markup += "      </thead>";
-      markup += "      <tbody>";
-
-      for (var i = 0; i < data_set["inputs"].length; i++) {
-
-        var input = data_set["inputs"][i];
-
-        markup += renderOptionalField(form_name("ds", s, "input", i, ".id"), input[".id"]);
-
-        markup += "        <tr>";
-        markup += "          <td class=\"label\"><input class=\"dataset-io-label\" name=\"" + form_name("ds", s, "input", i, "label") + "\" value=\"" + input["label"] + "\" /></td>";
-        markup += "          <td class=\"data\"><textarea class=\"dataset-io-data\" name=\"" + form_name("ds", s, "input", i, "data") + "\">" + input["data"] + "</textarea></td>";
-        markup += "          <td class=\"action\"><input class=\"dataset-io-action\" type=\"button\" value=\"Delete\"  /></td>";
-        markup += "        </tr>";
-      }
-
-      markup += "      </tbody>";
-      markup += "    </table>";
-      markup += "    <input type='button' value='Add new input'  />";
-      markup += "    <table class=\"dataset-table\">";
-      markup += "      <thead>";
-      markup += "        <tr>";
-      markup += "          <th class=\"form-label\">Output</th>";
-      markup += "          <th class=\"form-data\">Value</th>";
-      markup += "        </tr>";
-      markup += "      </thead>";
-      markup += "      <tbody>";
-      
-      for (var i = 0; i < data_set["outputs"].length; i++) {
-
-        var output = data_set["outputs"][i];
-
-        markup += renderOptionalField(form_name("ds", s, "output", i, ".id"), output[".id"]);
-
-        markup += "        <tr>";
-        markup += "          <td class=\"label\"><input class=\"dataset-io-label\" name=\"" + form_name("ds", s, "output", i, "label") + "\" value=\"" + output["label"] + "\" /></td>";
-        markup += "          <td class=\"data\"><textarea class=\"dataset-io-data\" name=\"" + form_name("ds", s, "output", i, "data") + "\">" + output["data"] + "</textarea></td>";
-        markup += "          <td class=\"action\"><input class=\"dataset-io-action\" type=\"button\" value=\"Delete\"  /></td>";
-        markup += "        </tr>";
-      }
-
-      markup += "      </tbody>";
-      markup += "    </table>";
-      markup += "    <input type='button' value='Add new output'  /></div>";
-      markup += "    <input class='delete-data-set' type='button' value='Delete set of example inputs / outputs'  />";
-      markup += "  <div style='clear: right'></div>";
-      markup += "  </div>";
-      markup += "</div>";
-    }
-  }
-
-  document.getElementById('data_sets').innerHTML = markup;
-
-  for (var s = 0; s < data_sets.length; s++) {
-    var oFCKeditor = new FCKeditor(form_name("ds", s, "desc"), '400px', '80px', 'None');
-    oFCKeditor.BasePath = '/_javascript_s/fckeditor/';
-    oFCKeditor.Config['CustomConfigurationsPath'] = '/_javascript_s/fckcustom.js';
-    oFCKeditor.ReplaceTextarea();
-  }
-}
-
-function deleteDataSet(i) {
-  var data_sets = saveDataSets();
-  data_sets.splice(i, 1);
-  renderDataSets(data_sets);
-}
-
-function addDataSet() {
-  var data_sets = saveDataSets();
-  data_sets.push( { "title" : "", "desc" : "", "inputs" : [], "outputs" : [] } );
-  renderDataSets(data_sets);
-}
-
-function addDataItem(type, s) {
-  var data_sets = saveDataSets();
-  data_sets[s][type].push( { "label" : "", "data" : "" } );
-  renderDataSets(data_sets);
-}
-
-function deleteDataItem(type, s, i) {
-  var data_sets = saveDataSets();
-  data_sets[s][type].splice(i, 1);
-  renderDataSets(data_sets);
-}
-

Modified: branches/datasets/public/stylesheets/styles.css (2837 => 2838)


--- branches/datasets/public/stylesheets/styles.css	2011-11-23 11:28:53 UTC (rev 2837)
+++ branches/datasets/public/stylesheets/styles.css	2011-11-23 15:46:19 UTC (rev 2838)
@@ -2051,78 +2051,6 @@
   padding-top: 1em;
 }
 
-/* Data set form */
-
-.form {
-  background: #e8e8e8;
-  width: 566px;
-  padding: 6px;
-  border: 1px solid #d0d0d0;
-margin-top: 1em;
-margin-bottom: 1em;
-}
-
-.form-triple {
-  margin-top: 0.2em;
-  margin-bottom: 0.2em;
-}
-
-.form-triple * {
-  display: inline-block;
-  vertical-align: top;
-}
-
-.form-label {
-  width: 100px;
-}
-
-.form-data,
-.dataset-title,
-.dataset-description,
-.dataset-io-data,
-.dataset_io-description {
-  width: 400px;
-}
-
-.dataset-description,
-.dataset-io-data,
-.dataset_io-description {
-  height: 80px;
-}
-
-TABLE.dataset-table {
-  margin-top: 1.0em;
-  margin-bottom: 0.5em;
-  border-collapse: collapse;
-}
-
-TABLE.dataset-table TH {
-  color: white;
-  background: gray;
-  border: 1px solid gray;
-}
-
-TABLE.dataset-table TH,
-TABLE.dataset-table TD {
-  text-align: left;
-  vertical-align: top;
-  padding: 4px;
-}
-
-TABLE.dataset-table .label,
-TABLE.dataset-table .data {
-  background: #d0d0d0;
-  border: 1px solid gray;
-}
-
-.dataset-io-label {
-  width: 88px;
-}
-
-.delete-data-set {
-  float: right;
-}
-
 /* Styles Related to topics */
 
 table.topic {

reply via email to

[Prev in Thread] Current Thread [Next in Thread]