Как добавить запись в набор данных в Recline JS?

Я использую довольно симпатичную библиотеку javascript Recline http://okfnlabs.org/recline/ , которая построена вокруг Backbone. Он также использует SlickGrid.

Существует множество примеров, и, конечно, есть исходный код, на который стоит взглянуть. Я проделал довольно долгий путь - написал свой собственный бэкэнд и показал данные в виде скользящей сетки.

Однако я не могу найти в примерах одну вещь, как добавить запись в набор данных. Я хотел бы привязать действие к кнопке, чтобы я мог добавить пустую запись в конец набора данных, чтобы затем я мог использовать представление slickgrid для редактирования данных.

Единственный способ, которым я могу добавить запись, - это отправка туда и обратно на сервер, но я не хочу этого делать, поскольку это потребует публикации действительных данных, поскольку в реальности Я не хочу пустых строк в моем наборе данных. Я хотел бы иметь возможность добавить несколько строк в клиент браузера, прежде чем отправлять данные через REST на сервер.

Код выглядит сейчас так.

$(document).ready(function() {
var dataset = new recline.Model.Dataset({
     url: '/rest/monitors',
     backend: 'restlet',
    });

    dataset.fetch().done(function(dataset) { 



        var $el = $('#mygrid');
        var grid = new recline.View.SlickGrid({
          model: dataset,
          el: $el,
          state: {
                gridOptions: {editable: true,enableCellNavigation: true},
                columnsEditor: [
                             {column: 'monitoruntil', editor: Slick.Editors.Date },
                             {column: 'enabled', editor: Slick.Editors.Checkbox },
                             {column: 'owneremail', editor: Slick.Editors.Text},
                             {column: 'normalinterval', editor: Slick.Editors.Text}
                           ],
                columnsWidth:[{column: 'owneremail', width: 100},{column: 'url', width: 300},{column: 'lastaccessed', width:100 }]
                 }
        });
        grid.visible = true;
        grid.render();


        //Bind Save Button to a function to save the dataset

        $('#savebutton').bind('click', function() {
              //alert($(this).text());
              dataset.save();
            });

        });;

})

С помощью этого кода я могу редактировать и сохранять только те записи, которые были доставлены с помощью бэкэнда «restlet».

10
задан nwaltham 19 December 2012 в 14:05
поделиться