Sha256: d0c540c44636910837605f1cf35f17019b13814da5c5fca86406c0a7be7e920c
Contents?: true
Size: 1.88 KB
Versions: 1
Compression:
Stored size: 1.88 KB
Contents
class Ponytail.Views.Table extends Backbone.View template: -> _.template($("#table_template").html(), @model.attributes) className: "table" events: "click .edit_table": "clickEditTable" "click .table_name span": "clickEditTable" "keyup .table_name input": "keyupTableNameInput" "blur .table_name input": "blurTableName" "click .drop_table": "clickDropTable" "click .restore_table": "clickRestoreTable" "click .add_column": "clickAddColumn" initialize: -> @model.bind("change", @render) render: => if @el.parentNode == null $(@el).html(@template()) columns = [] for column_attrs in @model.get('columns') column_attrs.table = @model m = new Ponytail.Models.Column(column_attrs) v = new Ponytail.Views.Column({model: m}) @$(".add_column").before(v.render().el) columns.push(m) @model.set({columns: columns}, {silent: true}) else @$(".table_name span").text(@model.get("name")) @ clickEditTable: -> if @$(".table_name span").is(":visible") @$(".table_name span").toggle() @$(".table_name input").toggle() false keyupTableNameInput: (e) -> @model.set({name: e.target.value}) # 13(ENTER_KEY) if e.which == 13 @.blurTableName() blurTableName: -> if @$(".table_name input").is(":visible") @$(".table_name span").toggle() @$(".table_name input").toggle() clickDropTable: -> @model.set({isDrop: true}) @$(".drop_table").hide() @$(".restore_table").show() false clickRestoreTable: -> @model.set({isDrop: false}) @$(".drop_table").show() @$(".restore_table").hide() false clickAddColumn: -> column = new Ponytail.Models.Column({table: @model, isAdded: true}) view = new Ponytail.Views.Column({model: column}) @$(".add_column").before(view.render().el) @model.addColumn(column) false
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ponytail-0.6.0 | app/assets/javascripts/ponytail/views/table.coffee |