JsonSimlet.js 950 B

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * JSON Simlet.
  3. */
  4. Ext.define('Ext.ux.ajax.JsonSimlet', {
  5. extend: 'Ext.ux.ajax.DataSimlet',
  6. alias: 'simlet.json',
  7. doGet: function (ctx) {
  8. var me = this,
  9. data = me.getData(ctx),
  10. page = me.getPage(ctx, data),
  11. reader = ctx.xhr.options.proxy && ctx.xhr.options.proxy.getReader(),
  12. root = reader && reader.getRootProperty(),
  13. ret = me.callParent(arguments), // pick up status/statusText
  14. response = {};
  15. if (root && Ext.isArray(page)) {
  16. response[root] = page;
  17. response[reader.getTotalProperty()] = data.length;
  18. } else {
  19. response = page;
  20. }
  21. if (ctx.groupSpec) {
  22. response.summaryData = me.getSummary(ctx, data, page);
  23. }
  24. ret.responseText = Ext.encode(response);
  25. return ret;
  26. },
  27. doPost : function(ctx) {
  28. return this.doGet(ctx);
  29. }
  30. });