New to Kendo UI for jQuery? Download free 30-day trial

Kinvey

Kinvey is a complete BaaS that powers mission-critical applications and entire digital businesses.

Kinvey provides a ready-for-use API for CRUD operations which enables you to configure and integrate the following services with the Kendo UI widgets:

To dynamically set the id of the data item, configure the URLs of all transport operations as functions.

For a demo on integrating all CRUD operations, refer to this Dojo example.

Configuring the Read Service

The read service defined by the DataSource transport returns data in the expected JSON format. Depending on the setting, you might be required to provide an authorization token.

The following example demonstrates how to configure the read transport operation with an authorization token.

    var token = customToken
    // ...
    read: {
     url: function () {
      return "https://baas.kinvey.com/appdata/kid_ByXpkJIDb/books/"
     },
     type: 'GET',
     beforeSend: function (req) {
     req.setRequestHeader('authorization', token);
     }
    }

Configuring the Update Service

The update service expects a PUT request that contains the id of the updated item as part of the URL. As a result, you need to programmatically add the id of the edited item to the URL on the save event of the widget—for example, on the save event of the Grid.

The following example demonstrates how to configure the update transport operation and add the id of the data item.

    var token = customToken
    var _id = 0;

    save: function (e) {
          _id = e.model._id
    },
    // ...
    update: {
     url: function () {
      return "https://baas.kinvey.com/appdata/kid_ByXpkJIDb/books/" + _id
     },
     type: 'PUT',
     beforeSend: function (req) {
      req.setRequestHeader('authorization', token);
     }
    }

Configuring the Create Service

The create service defined by the DataSource transport creates a new item. If the _id of the item is not specified, the widget automatically generates and sends it as an empty string. As a result, you need to programmatically remove it from the request by using the parameterMap of the DataSource.

The following example demonstrates how to configure the create transport operation and remove the _id from the request.

    var token = customToken
    // ...
    create: {
     url: "https://baas.kinvey.com/appdata/kid_ByXpkJIDb/books",
     type: 'POST',
     beforeSend: function (req) {
     req.setRequestHeader('authorization', token);
     }
    }
    // Remove the _id parameter from the request

   parameterMap: function (options, operation) {
    if (operation == "create" && options._id == "") {
     delete options._id;
     return options;
    }
   }

Configuring the Destroy Service

The destroy service submits the id of the data item that will be deleted and expects a DELETE request that contains the id of the item. As a result, you need to programmatically add the id of the edited item to the URL on the remove event of the widget—for example, on the remove event of the Grid.

The following example demonstrates how to configure the destroy transport operation and add the id of the data item.

    remove: function (e) {
     _id = e.model._id
    },
    //.....
    destroy: {
     url: function () {
       return "https://baas.kinvey.com/appdata/kid_ByXpkJIDb/books/" + _id
      },
      type: 'DELETE',
      beforeSend: function (req) {
       req.setRequestHeader('authorization', token);
      }
    }

See Also

In this article