|
@@ -0,0 +1,80 @@
|
|
|
|
+import _ from 'lodash'
|
|
|
|
+import $ from 'jquery'
|
|
|
|
+
|
|
|
|
+export default function () {
|
|
|
|
+
|
|
|
|
+ Ext.define('Ext.ux.data.proxy.JsonAjaxProxy', {
|
|
|
|
+ extend: 'Ext.data.proxy.Ajax',
|
|
|
|
+ alias: 'proxy.jsonAjax',
|
|
|
|
+ actionMethods: {
|
|
|
|
+ create: "POST",
|
|
|
|
+ read: "POST",
|
|
|
|
+ update: "POST",
|
|
|
|
+ destroy: "POST"
|
|
|
|
+ },
|
|
|
|
+ buildRequest: function (operation) {
|
|
|
|
+ // 参考源码 ext-all-debug.js:71468 method:buildRequest
|
|
|
|
+ const me = this
|
|
|
|
+ const params = operation.params = Ext.apply({}, {params: operation.getParams()}, me.extraParams)
|
|
|
|
+
|
|
|
|
+ Ext.applyIf(params, me.getParams(operation));
|
|
|
|
+
|
|
|
|
+ if (operation.id !== undefined && params[me.idParam] === undefined) {
|
|
|
|
+ params[me.idParam] = operation.id;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ let request = new Ext.data.Request({
|
|
|
|
+ params: {},
|
|
|
|
+ action: operation.getAction(),
|
|
|
|
+ records: operation.getRecords(),
|
|
|
|
+ url: operation.getUrl(),
|
|
|
|
+ jsonData: {
|
|
|
|
+ args: [
|
|
|
|
+ params
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ // callback: function (options, success, response) {
|
|
|
|
+ // console.log('callback', me, arguments)
|
|
|
|
+ // },
|
|
|
|
+ proxy: me
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ request.setUrl(me.buildUrl(request));
|
|
|
|
+ operation.request = request;
|
|
|
|
+ operation.setRequest(request);
|
|
|
|
+ return request;
|
|
|
|
+ },
|
|
|
|
+ afterRequest: function (req, res) {
|
|
|
|
+ // Extend.afterExtRequest(req, res)
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Ext.define('Ext.ux.data.MyReader', {
|
|
|
|
+ extend: Ext.data.reader.Json,
|
|
|
|
+ alias: 'reader.myreader',
|
|
|
|
+
|
|
|
|
+ useSimpleAccessors: false,
|
|
|
|
+
|
|
|
|
+ // 重写解析 data 的方法
|
|
|
|
+ // extractData: function (data) {
|
|
|
|
+ // // callParent 要换写成 this.superclass.XXX.call(this, ...)
|
|
|
|
+ // // return me.callParent([data]);
|
|
|
|
+ //
|
|
|
|
+ // debugger
|
|
|
|
+ // // if (this.metaData && Ext.isArray(this.metaData.fields)) {
|
|
|
|
+ // // // data : [][] 换写成数组
|
|
|
|
+ // // data = _.map(data, row => {
|
|
|
|
+ // // const newRow = {}
|
|
|
|
+ // // for (var i = 0; i < this.metaData.fields.length; i++) {
|
|
|
|
+ // // newRow[this.metaData.fields[i]] = row[i]
|
|
|
|
+ // // }
|
|
|
|
+ // // return newRow
|
|
|
|
+ // // })
|
|
|
|
+ // // }
|
|
|
|
+ //
|
|
|
|
+ // const rr = this.superclass.extractData.call(this, data);
|
|
|
|
+ // return rr;
|
|
|
|
+ // }
|
|
|
|
+ });
|
|
|
|
+}
|