jqxgrid bug 4

error adding, deleting and updating rows/ bug with editing date cell. bug with editing text fields when dragging enabled. try to double click cell "Country name" and set cursor with mouse click

by fessdmks

HTML

<script src="http://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="http://jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="http://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css">
<div id="jqxgrid"></div>

JavaScript

var source = {
    datatype: "json",
    datafields: [{
        name: 'selection',
        type: 'bool'
    }, {
        name: 'countryName',
        type: 'string'
    }, {
        name: 'date',
        type: 'date'
    }],
    id: 'id',
    url: "/findRange",
    cache: false,
};
var data = [{
    selection: true,
    countryName: "1gergregregre",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "2",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "3",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "4",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "5",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "6",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "7",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "8",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "9",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "10",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}, {
    selection: true,
    countryName: "11",
    date: new Date(),
    ShipCity:'Rio de Janeiro'
}];

function getAdapter() {
    return new $.jqx.dataAdapter(source, {
        formatData: function (data) {
            //data.recordendindex=Math.floor(data.recordendindex);
            return data;
        },
        processData: function (data) {
            //data.recordendindex=Math.floor(data.recordendindex);
            console.info("process data");
        },
        beforeSend: function (jqXHR, settings) {
            console.info("before send");
        },
        loadError: function (jqXHR, status, error) {
            console.info("loadError");
        },
       ...