Reading from a webservice using datasource transport read has an issue

6 posts, 0 answers
  1. devApps
    devApps avatar
    13 posts
    Member since:
    Dec 2015

    Posted 29 Nov 2016 Link to this post

    I am  trying to read from the following webservice :

    http://apis.io/api/apis

    Here is the code snippet :

    Telerik Dojo Code Snippet

    http://dojo.telerik.com/@phcc1t/oSEBa

     

    Could you please let me know where is the issue

  2. Alex Hajigeorgieva
    Admin
    Alex Hajigeorgieva avatar
    165 posts

    Posted 30 Nov 2016 Link to this post

    Hi,

    The issue is with the Kendo UI Data Source configuration, therefore, I moved your post in this forum thread.

    Thank you for providing the Dojo snippet, I modified it with the following changes and it is now working as expected:

    - dataType of the transport read operation is now JSON

    The service returns JSON, so the correct dataType is JSON. 

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport.read.dataType

    - added missing schema data

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-schema.data

    Looking at the response format - you should be able to configure the Kendo UI Data Source with the schema data property unless you need to make any changes, the call to schema parse is unnecessary. E.g. instead of looping over the response.data,  both instances could have a similar configuration:

    var myDataSource2 = new kendo.data.DataSource({
      transport: {
       read:  {
        url: "http://apis.io/api/apis",
        dataType: "json"
       }
      },
      schema: {
       data: "data"
      }
    });

    - the Kendo UI Data Source data should be an array, not a string (myDataSource1 - "status"):

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-data

    - the Kendo UI Mobile ListView requires a mobile application and a view so they can run and trigger a read request:

    http://docs.telerik.com/kendo-ui/controls/hybrid/application#initialize-the-mobile-view

    I have updated the example and you can press "Run" in the below Dojo snippet or go to its FullScreen mode:

    http://dojo.telerik.com/ERaNe 

    Kind Regards,
    Alex Hajigeorgieva
    Telerik by Progress
    Kendo UI is ready for Visual Studio 2017 RC! Learn more.
  3. devApps
    devApps avatar
    13 posts
    Member since:
    Dec 2015

    Posted 06 Dec 2016 in reply to Alex Hajigeorgieva Link to this post

    Thanks a lot Alex  for the detailed explanation and references.

    Really appreciate it.

  4. devApps
    devApps avatar
    13 posts
    Member since:
    Dec 2015

    Posted 07 Dec 2016 Link to this post

    Is there any way that I can limit the number of items that are displayed in the listview ?

    I will read the data from the webservice , but from the result I need to display say only the first two or last two ?

  5. devApps
    devApps avatar
    13 posts
    Member since:
    Dec 2015

    Posted 08 Dec 2016 in reply to devApps Link to this post

    I was to able to limit the data by using the query option

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-query

    But I still I have one more final thing left.

    Basically I am using the Barcode plugin to scan a barcode , and the scanned data is added to the Telerik back-end content type , and the content type's data is displayed in a list view.

    Scanning and adding to the back-end content type is fine , but the list does not get automatically refreshed with the newly added data.

    I have also used the sort option in the query such that the latest added option is at the first page.

    Also used datasource read and sync methods after adding the data

    Despite this I have to refresh or reload the app to see the newly added item in the list.

    Any pointers how can I fix this ?

  6. Alex Hajigeorgieva
    Admin
    Alex Hajigeorgieva avatar
    165 posts

    Posted 09 Dec 2016 Link to this post

    Hi,

    The approach that you have taken with calling the read() method of the Kendo UI Data Source when there have been changes in the backend is correct. If the changes were added through the UI, then you would need to call the add() method and then sync() to sync the changes with the server.

    If I understand you correctly, you are inquiring about how to refresh the Kendo UI Hybrid ListView when there are changes on the server. I have created a sample demo with a similar scenario, please feel free to modify it and return the newly generated URL from the address bar:

    http://dojo.telerik.com/AjeYo

    Alternatively, you may provide a snippet which shows how and when the read() method is called.

    Look forward to hearing back from you.
     
    Regards,
    Alex Hajigeorgieva
    Telerik by Progress
    Kendo UI is ready for Visual Studio 2017 RC! Learn more.
Back to Top