Sha256: 61cf351319bd551909ead47a1d274bae9682483550f1479a02bb49d91ae36dd4

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

Ponytail.Views.NewMigrationView = Backbone.View.extend({
  events: {
    "click .pt_new_table a": "appendTableView"
  },
  initialize: function() {
    var tables = [];
    $(".pt_table").each(function() {
      var name = $(this).find(".pt_table_name span").text();
      var m = new Ponytail.Models.Table({name: name});
      tables.push(m);
      new Ponytail.Views.TableView({el: $(this), model: m});
    });
    var migrationFile = new Ponytail.Models.MigrationFile();
    new Ponytail.Views.MigrationFileView({el: $(".migration_file_view"), model: migrationFile});
    tables.forEach(function(table) {
      table.bind("change", function() {
        migrationFile.updateByTables(tables);
      });
    });
    this.tables = tables;
    this.migrationFile = migrationFile;
  },
  appendTableView: function() {
    var tables = this.tables;
    var migrationFile = this.migrationFile;
    var m = new Ponytail.Models.Table({isCreated: true});
    tables.push(m);
    m.bind("change", function() {
      migrationFile.updateByTables(tables);
    });
    m.trigger("change");
    var v = new Ponytail.Views.TableView({model: m});
    $(".pt_new_table").before(v.render().el);
    return false;
  }
});

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ponytail-0.3.0 app/assets/javascripts/ponytail/views/new_migrations.js