3 window._w.xmlrpccallbacklog = {
7 onTemplateReady : function( template, event, eventData )
9 _w.xmlrpccallbacklog.ti = _t[template];
11 _w.xmlrpccallbacklog.initGrids();
14 if (null == App.API.taskContract('gridSystemXmlRpcCallback'))
17 'gridSystemXmlRpcCallback', 'Valuation', 'XmlRpcCallbackLog.Grid', null,
18 {}, _w.xmlrpccallbacklog.loadXmlRpcGrid, _w.taskContractError
23 _w.xmlrpccallbacklog.loadXmlRpcGrid( null, {}, {} );
27 onTemplatePublished : function( template, event, eventData )
29 $(".gridXmlRpcFilter").keypress(function (evt) {
30 var charCode = evt.charCode || evt.keyCode;
31 if (charCode == 13) { //Enter key's keycode
32 $('#btnXmlRpcSearch').click();
36 _w.xmlrpccallbacklog.ti = _t[template];
39 $('#btnXmlRpcClearSearch').click(_w.xmlrpccallbacklog.clearXmlRpcGridContext);
40 $('#btnXmlRpcSearch').click(_w.xmlrpccallbacklog.searchXmlRpcGrid);
44 exportXmlRpcGrid : function()
47 'gridSystemXmlRpcCallback', {}, {'ExportToExcel': true},
48 _w.xmlrpccallbacklog._onExportReceived, _w.taskExecError,
53 initGrids : function()
56 _w.xmlrpccallbacklog.ti.hydrate({
58 'gridXmlRpcTitle': 'View xml-rpc callback logs',
60 constructor: 'Button',
64 id: 'exportAuctionGrid',
65 handler: _w.xmlrpccallbacklog.exportXmlRpcGrid
69 'gridXmlRpcColumnHeaders': {
70 constructor: 'GridColumnHeader',
73 id: 'gridXmlRpcColumn_ClientName',
76 id: 'gridXmlRpcOrder_ClientNameAsc',
77 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcClient.clientName', 'ASC')
80 id: 'gridXmlRpcOrder_ClientNameDesc',
81 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcClient.clientName', 'DESC')
85 id: 'gridXmlRpcColumn_ValuationNumber',
86 title: 'VALUATION NUMBER',
88 id: 'gridXmlRpcOrder_ValuationNumberAsc',
89 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'valuation.valuationNumber', 'ASC')
92 id: 'gridXmlRpcOrder_ValuationNumberDesc',
93 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'valuation.valuationNumber', 'DESC')
97 id: 'gridXmlRpcColumn_CallbackUrl',
98 title: 'CALLBACK URL',
100 id: 'gridXmlRpcOrder_CallbackUrlAsc',
101 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.callbackUrl', 'ASC')
104 id: 'gridXmlRpcOrder_CallbackUrlDesc',
105 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.callbackUrl', 'DESC')
109 id: 'gridXmlRpcColumn_MethodName',
112 id: 'gridXmlRpcOrder_MethodNameAsc',
113 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.methodName', 'ASC')
116 id: 'gridXmlRpcOrder_MethodNameDesc',
117 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.methodName', 'DESC')
121 id: 'gridXmlRpcColumn_Attempts',
124 id: 'gridXmlRpcOrder_AttemptsAsc',
125 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.attempts', 'ASC')
128 id: 'gridXmlRpcOrder_AttemptsDesc',
129 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.attempts', 'DESC')
133 id: 'gridXmlRpcColumn_Created',
136 id: 'gridXmlRpcOrder_CreatedAsc',
137 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.created', 'ASC')
140 id: 'gridXmlRpcOrder_CreatedDesc',
141 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.created', 'DESC')
145 id: 'gridXmlRpcColumn_Status',
148 id: 'gridXmlRpcOrder_StatusAsc',
149 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.status', 'ASC')
152 id: 'gridXmlRpcOrder_StatusDesc',
153 bind: $.proxy(_w.xmlrpccallbacklog.orderXmlRpcGrid, this, 'xmlRpcCallbackLog.status', 'DESC')
158 'gridXmlRpcColumnFilters': {
159 constructor: 'GridColumnFilter',
162 id: 'gridXmlRpcFilter_ClientName',
163 context: 'gridXmlRpcFilter'
166 id: 'gridXmlRpcFilter_ValuationNumber',
167 context: 'gridXmlRpcFilter'
170 id: 'gridXmlRpcFilter_CallbackUrl',
171 context: 'gridXmlRpcFilter'
174 id: 'gridXmlRpcFilter_MethodName',
175 context: 'gridXmlRpcFilter'
178 id: 'gridXmlRpcFilter_Attempts',
179 context: 'gridXmlRpcFilter'
182 id: 'gridXmlRpcFilter_Created',
183 context: 'gridXmlRpcFilter'
186 id: 'gridXmlRpcFilter_Status',
187 context: 'gridXmlRpcFilter'
191 'gridXmlRpcRowRepeater': {},
192 'gridXmlRpcPager': {}
197 loadXmlRpcGrid : function( contract, data, options )
200 'gridSystemXmlRpcCallback', data, options,
201 _w.xmlrpccallbacklog._onXmlRpcGridDataReceived, _w.taskExecError
205 pageXmlRpcGrid : function( page )
207 _w.xmlrpccallbacklog.loadXmlRpcGrid( {}, {"Grid":{"Page":page}} );
210 clearXmlRpcGridContext : function()
212 $('.gridXmlRpcContext').val('');
213 $('.gridXmlRpcFilter').val('');
214 _w.xmlrpccallbacklog.searchXmlRpcGrid();
217 searchXmlRpcGrid : function()
224 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_ClientName', 'xmlRpcClient.clientName');
225 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_ValuationNumber', 'valuation.valuationNumber');
226 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_CallbackUrl', 'xmlRpcCallbackLog.callbackUrl');
227 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_MethodName', 'xmlRpcCallbackLog.methodName');
228 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Attempts', 'xmlRpcCallbackLog.attempts');
229 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Created', 'xmlRpcCallbackLog.created');
230 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Status', 'xmlRpcCallbackLog.status');
231 var request = {"Grid":{
233 "Filter": filter.filters
235 _w.xmlrpccallbacklog.loadXmlRpcGrid( null, request, {} );
238 _onXmlRpcGridDataReceived : function( response )
240 _w.xmlrpccallbacklog.ti.hydrateParam('gridXmlRpcRowRepeater', {});
241 _w.populateFilters(response.Data.Meta.Filters, {
242 'xmlRpcClient.clientName' : 'gridXmlRpcFilter_ClientName',
243 'valuation.valuationNumber' : 'gridXmlRpcFilter_ValuationNumber',
244 'xmlRpcCallbackLog.callbackUrl' : 'gridXmlRpcFilter_CallbackUrl',
245 'xmlRpcCallbackLog.methodName' : 'gridXmlRpcFilter_MethodName',
246 'xmlRpcCallbackLog.attempts' : 'gridXmlRpcFilter_Attempts',
247 'xmlRpcCallbackLog.created' : 'gridXmlRpcFilter_Created',
248 'xmlRpcCallbackLog.status' : 'gridXmlRpcFilter_Status'
250 _w.xmlrpcrequestlog.packetData = {};
251 _w.xmlrpcrequestlog.responseData = {};
253 for (var i = 0; i < response.Data.DataSet.length; i++)
255 var row = response.Data.DataSet[i];
256 _w.xmlrpcrequestlog.packetData['row' + row.id] = row.packet;
257 _w.xmlrpcrequestlog.responseData['row' + row.id] = row.response;
260 bind: function(meta) {
261 $('#row' + meta.rowId).click(function(e){
262 var id = $(this).attr('id');
264 var jspr = JSON.stringify(_w.xmlrpcrequestlog.packetData[id], undefined, 2);
265 jspr = jspr.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
266 jspr = jspr.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
268 if (/^"/.test(match)) {
269 if (/:$/.test(match)) {
274 } else if (/true|false/.test(match)) {
276 } else if (/null/.test(match)) {
279 return '<span class="' + cls + '">' + match + '</span>';
281 $('#modalbody').html('<pre>' + "Packet:\n" + jspr + '</pre><br/><br/>');
283 var jspr = JSON.stringify(_w.xmlrpcrequestlog.responseData[id], undefined, 2);
284 jspr = jspr.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
285 jspr = jspr.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
287 if (/^"/.test(match)) {
288 if (/:$/.test(match)) {
293 } else if (/true|false/.test(match)) {
295 } else if (/null/.test(match)) {
298 return '<span class="' + cls + '">' + match + '</span>';
300 $('#modalbody').append('<pre>' + "Response:\n" + jspr + '</pre>');
302 $('#myModal').modal('toggle');
309 'ClientName' : row.xmlRpcClient.clientName,
310 'ValuationNumber' : row.valuation.valuationNumber,
311 'CallbackUrl' : row.callbackUrl,
312 'MethodName' : row.methodName,
313 'Attempts' : row.attempts,
314 'Created' : row.created,
315 'Status' : row.status
319 _w.xmlrpccallbacklog.ti.hydrateParam('gridXmlRpcRowRepeater', {
320 constructor : 'GridDataRow',
323 response.Data.Meta.itemName = 'userPager';
324 response.Data.Meta.bind = _w.xmlrpccallbacklog.pageXmlRpcGrid;
325 _w.xmlrpccallbacklog.ti.hydrateParam('gridXmlRpcPager', {
326 constructor : 'GridPager',
327 items : [response.Data.Meta]
331 orderXmlRpcGrid : function(field, direction)
334 order[field] = direction;
335 _w.xmlrpccallbacklog.loadXmlRpcGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
338 _onExportReceived : function( response )
340 var win = window.open();
341 win.document.write(response);