3 window._w.xmlrpcrequestlog = {
7 onTemplateReady : function( template, event, eventData )
9 _w.xmlrpcrequestlog.ti = _t[template];
11 _w.xmlrpcrequestlog.initGrids();
14 if (null == App.API.taskContract('gridSystemXmlRpcRequest'))
17 'gridSystemXmlRpcRequest', 'Valuation', 'XmlRpcRequestLog.Grid', null,
18 {}, _w.xmlrpcrequestlog.loadXmlRpcGrid, _w.taskContractError
23 _w.xmlrpcrequestlog.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.xmlrpcrequestlog.ti = _t[template];
39 $('#btnXmlRpcClearSearch').click(_w.xmlrpcrequestlog.clearXmlRpcGridContext);
40 $('#btnXmlRpcSearch').click(_w.xmlrpcrequestlog.searchXmlRpcGrid);
44 exportXmlRpcGrid : function()
47 'gridSystemXmlRpcRequest', {}, {'ExportToExcel': true},
48 _w.xmlrpcrequestlog._onExportReceived, _w.taskExecError,
53 initGrids : function()
56 _w.xmlrpcrequestlog.ti.hydrate({
58 'gridXmlRpcTitle': 'View xml-rpc request logs',
60 constructor: 'Button',
64 id: 'exportAuctionGrid',
65 handler: _w.xmlrpcrequestlog.exportXmlRpcGrid
69 'gridXmlRpcColumnHeaders': {
70 constructor: 'GridColumnHeader',
73 id: 'gridXmlRpcColumn_ClientName',
76 id: 'gridXmlRpcOrder_ClientNameAsc',
77 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcClient.clientName', 'ASC')
80 id: 'gridXmlRpcOrder_ClientNameDesc',
81 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcClient.clientName', 'DESC')
85 id: 'gridXmlRpcColumn_ValuationNumber',
86 title: 'VALUATION NUMBER',
88 id: 'gridXmlRpcOrder_ValuationNumberAsc',
89 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'valuation.valuationNumber', 'ASC')
92 id: 'gridXmlRpcOrder_ValuationNumberDesc',
93 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'valuation.valuationNumber', 'DESC')
97 id: 'gridXmlRpcColumn_ClientApiId',
100 id: 'gridXmlRpcOrder_ClientApiIdAsc',
101 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpcRequestLog.clientApiId', 'ASC')
104 id: 'gridXmlRpcOrder_ClientApiIdDesc',
105 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpcRequestLog.clientApiId', 'DESC')
109 id: 'gridXmlRpcColumn_IpAddress',
112 id: 'gridXmlRpcOrder_IpAddressAsc',
113 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.ipAddress', 'ASC')
116 id: 'gridXmlRpcOrder_IpAddressDesc',
117 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.ipAddress', 'DESC')
121 id: 'gridXmlRpcColumn_MethodName',
124 id: 'gridXmlRpcOrder_MethodNameAsc',
125 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.methodName', 'ASC')
128 id: 'gridXmlRpcOrder_MethodNameDesc',
129 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.methodName', 'DESC')
133 id: 'gridXmlRpcColumn_Created',
136 id: 'gridXmlRpcOrder_CreatedAsc',
137 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.created', 'ASC')
140 id: 'gridXmlRpcOrder_CreatedDesc',
141 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.created', 'DESC')
145 id: 'gridXmlRpcColumn_Status',
148 id: 'gridXmlRpcOrder_StatusAsc',
149 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.status', 'ASC')
152 id: 'gridXmlRpcOrder_StatusDesc',
153 bind: $.proxy(_w.xmlrpcrequestlog.orderXmlRpcGrid, this, 'xmlRpcRequestLog.status', 'DESC')
158 'gridXmlRpcColumnFilters': {
159 constructor: 'GridColumnFilter',
162 id: 'gridXmlRpcFilter_ClientName',
163 context: 'gridXmlRpcFilter'
166 id: 'gridXmlRpcFilter_ValuationNumber',
167 context: 'gridXmlRpcFilter'
170 id: 'gridXmlRpcFilter_ClientApiId',
171 context: 'gridXmlRpcFilter'
174 id: 'gridXmlRpcFilter_IpAddress',
175 context: 'gridXmlRpcFilter'
178 id: 'gridXmlRpcFilter_MethodName',
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 'gridSystemXmlRpcRequest', data, options,
201 _w.xmlrpcrequestlog._onXmlRpcGridDataReceived, _w.taskExecError
205 pageXmlRpcGrid : function( page )
207 _w.xmlrpcrequestlog.loadXmlRpcGrid( {}, {"Grid":{"Page":page}} );
210 clearXmlRpcGridContext : function()
212 $('.gridXmlRpcContext').val('');
213 $('.gridXmlRpcFilter').val('');
214 _w.xmlrpcrequestlog.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_ClientApiId', 'xmlRpcRequestLog.clientApiId');
227 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_IpAddress', 'xmlRpcRequestLog.ipAddress');
228 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_MethodName', 'xmlRpcRequestLog.methodName');
229 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Created', 'xmlRpcRequestLog.created');
230 filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Status', 'xmlRpcRequestLog.status');
231 var request = {"Grid":{
233 "Filter": filter.filters
235 _w.xmlrpcrequestlog.loadXmlRpcGrid( null, request, {} );
238 _onXmlRpcGridDataReceived : function( response )
240 _w.xmlrpcrequestlog.ti.hydrateParam('gridXmlRpcRowRepeater', {});
241 _w.populateFilters(response.Data.Meta.Filters, {
242 'xmlRpcClient.clientName' : 'gridXmlRpcFilter_ClientName',
243 'valuation.valuationNumber' : 'gridXmlRpcFilter_ValuationNumber',
244 'xmlRpcRequestLog.clientApiId' : 'gridXmlRpcFilter_ClientApiId',
245 'xmlRpcRequestLog.ipAddress' : 'gridXmlRpcFilter_IpAddress',
246 'xmlRpcRequestLog.methodName' : 'gridXmlRpcFilter_MethodName',
247 'xmlRpcRequestLog.created' : 'gridXmlRpcFilter_Created',
248 'xmlRpcRequestLog.status' : 'gridXmlRpcFilter_Status'
250 _w.xmlrpcrequestlog.packetData = {};
252 for (var i = 0; i < response.Data.DataSet.length; i++)
254 var row = response.Data.DataSet[i];
255 _w.xmlrpcrequestlog.packetData['row' + row.id] = row.packet;
258 bind: function(meta) {
259 $('#row' + meta.rowId).click(function(e){
260 var id = $(this).attr('id');
261 var jspr = JSON.stringify(_w.xmlrpcrequestlog.packetData[id], undefined, 2);
262 jspr = jspr.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
263 jspr = jspr.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
265 if (/^"/.test(match)) {
266 if (/:$/.test(match)) {
271 } else if (/true|false/.test(match)) {
273 } else if (/null/.test(match)) {
276 return '<span class="' + cls + '">' + match + '</span>';
278 $('#modalbody').html('<pre>' + jspr + '</pre>');
279 $('#myModal').modal('toggle');
286 'ClientName' : row.xmlRpcClient.clientName,
287 'ValuationNumber' : row.valuation.valuationNumber,
288 'ClientApiId' : row.clientApiId,
289 'IpAddress' : row.ipAddress,
290 'MethodName' : row.methodName,
291 'Created' : row.created,
292 'Status' : row.status
296 _w.xmlrpcrequestlog.ti.hydrateParam('gridXmlRpcRowRepeater', {
297 constructor : 'GridDataRow',
300 response.Data.Meta.itemName = 'userPager';
301 response.Data.Meta.bind = _w.xmlrpcrequestlog.pageXmlRpcGrid;
302 _w.xmlrpcrequestlog.ti.hydrateParam('gridXmlRpcPager', {
303 constructor : 'GridPager',
304 items : [response.Data.Meta]
308 orderXmlRpcGrid : function(field, direction)
311 order[field] = direction;
312 _w.xmlrpcrequestlog.loadXmlRpcGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
315 _onExportReceived : function( response )
317 var win = window.open();
318 win.document.write(response);