Integracja z tabelą Ember z modelem Ember / danymi Ember

Próbuję połączyć ember-models z tabelą ember, aby wyciągnąć paginowane rekordy z serwera i dodać je do tabeli podczas przewijania w dół.

Mogę to uruchomić, po prostu żądając adresu URL api z numerem strony, jak w przykładzie ajax nahttp://addepar.github.io/ember-table/ ale nie mogę wymyślić, jak zintegrować go z modelem ember-model, aby tworzyć i emberować obiekty, a następnie dodawać je do tabeli.

Oto mój kod, który po prostu wykonuje żądanie ajax i dodaje do tabeli. Czy ktoś może mi powiedzieć, jak mogę to zmienić, aby zamiast tego użyć ember-model / ember-data.

App.TableAjaxExample = Ember.Namespace.create()

App.TableAjaxExample.LazyDataSource = Ember.ArrayProxy.extend

  createGithubEvent: (row, event) ->

    row.set 'id',       event.id
    row.set 'name',  event.name
    row.set 'isLoaded',   yes

  requestGithubEvent: (page) ->

    content = @get 'content'
    start   = (page - 1) * 30
    end     = start + 30
    per_page = 40
    # something like this ???
    #App.Detail.find(type: 'companies', page: page, per_page: per_page).on 'didLoad', ->
    url = "http:/myurl.dev/admin/details.json?type=companies&page=#{page}&per_page=30"
    Ember.$.getJSON url, (json) =>
      json.details.forEach (event, index) =>
        row = content[start + index]
        @createGithubEvent row, event
    [start...end].forEach (index) ->
      content[index] = Ember.Object.create eventId: index, isLoaded: no

  objectAt: (index) ->

    content = @get 'content'
    #if index is content.get('length') - 1
    #  content.pushObjects(new Array(30))
    row = content[index]
    return row if row and not row.get('error')
    @requestGithubEvent Math.floor(index / 30 + 1)
    content[index]

App.TableAjaxExample.TableController =
Ember.Table.TableController.extend

  hasHeader: yes
  hasFooter: no
  numFixedColumns: 0
  numRows: 21054
  rowHeight: 35

  columns: Ember.computed ->

    columnNames = ['id', 'name']
    columns = columnNames.map (key, index) ->
      Ember.Table.ColumnDefinition.create
        columnWidth: 150
        headerCellName: key.w()
        contentPath: key

    columns
  .property()

  content: Ember.computed ->
    App.TableAjaxExample.LazyDataSource.create

      content: new Array(@get('numRows'))
  .property 'numRows'

Czy jest to możliwe, czy też spowalnia to znacznie?

Dzięki za pomoc. Stóg

questionAnswers(1)

yourAnswerToTheQuestion