From 6c285fbf02d15a9cc1b21e82a09fcd9d69d0415e Mon Sep 17 00:00:00 2001 From: Nathanael Jourdane <nathanael.jourdane@irap.omp.eu> Date: Wed, 25 Jan 2017 18:42:10 +0100 Subject: [PATCH] Disable services grid when processing the query. --- js/app/controllers/EpnTapModule.js | 12 ++++++++++++ js/app/views/EpnTapUI.js | 20 ++++++++++---------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/js/app/controllers/EpnTapModule.js b/js/app/controllers/EpnTapModule.js index 83a9a2c..04f61d4 100644 --- a/js/app/controllers/EpnTapModule.js +++ b/js/app/controllers/EpnTapModule.js @@ -212,6 +212,7 @@ Ext.define('amdaDesktop.EpnTapModule', { // *** Buttons events *** onFirstPageBtnClicked: function() { + this.wait(); this.currentPageLb.setText('1'); this.nextBtn.setDisabled(false); @@ -227,6 +228,7 @@ Ext.define('amdaDesktop.EpnTapModule', { }, onPreviousPageBtnClicked: function() { + this.wait(); var newPageNumber = Number(this.currentPageLb.text) - 1; this.currentPageLb.setText('' + newPageNumber); @@ -245,6 +247,7 @@ Ext.define('amdaDesktop.EpnTapModule', { }, onNextPageBtnClicked: function() { + this.wait(); var newPageNumber = Number(this.currentPageLb.text) + 1; this.currentPageLb.setText('' + newPageNumber); @@ -263,6 +266,7 @@ Ext.define('amdaDesktop.EpnTapModule', { }, onLastPageBtnClicked: function() { + this.wait(); var newPageNumber = this.totalPagesLb.text; this.currentPageLb.setText('' + newPageNumber); @@ -281,6 +285,7 @@ Ext.define('amdaDesktop.EpnTapModule', { // *** Grid click events *** onServiceSelected: function(selectedServiceId) { + this.wait(); this.selectedServiceId = selectedServiceId; var selectedServiceURL = this.services[selectedServiceId]['accessurl']; @@ -345,6 +350,13 @@ Ext.define('amdaDesktop.EpnTapModule', { console.log('Can not add granules: ' + e); } } + Ext.getCmp('servicesGrid').setDisabled(false); + Ext.getCmp('servicesGrid').getEl().setStyle('cursor', 'default'); // CSS is correctly changed but without visible result. + }, + + wait: function() { + this.servicesGrid.getEl().setStyle('cursor', 'wait'); + this.servicesGrid.setDisabled(true); // CSS is correctly changed but without visible result. }, updateServices: function() { diff --git a/js/app/views/EpnTapUI.js b/js/app/views/EpnTapUI.js index db414e3..1f47ae8 100644 --- a/js/app/views/EpnTapUI.js +++ b/js/app/views/EpnTapUI.js @@ -87,7 +87,9 @@ Ext.define('amdaUI.EpnTapUI', { {text: 'Name', dataIndex: 'id', flex: 3}, {text: 'Results', dataIndex: 'nbResults', flex: 2} ], - renderer: function(value, metadata,record) { return getExpandableImage(value, metadata,record); }, + renderer: function(value, metadata,record) { + return getExpandableImage(value, metadata,record); + }, listeners: { 'cellclick': function(grid, td, cellIndex, record) { epnTapModule.onServiceSelected(record.data['id']); @@ -96,15 +98,14 @@ Ext.define('amdaUI.EpnTapUI', { renderTo: Ext.getBody() }); - var servicesGridView = this.servicesGrid.getView(); this.serviceTooltip = new Ext.tip.ToolTip({ id: 'serviceTooltip', - target: servicesGridView.el, - delegate: servicesGridView.itemSelector, + target: Ext.getCmp('servicesGrid').getView().el, + delegate: Ext.getCmp('servicesGrid').getView().itemSelector, trackMouse: true, listeners: { beforeshow: function updateTipBody(tooltip) { - var service = servicesGridView.getRecord(tooltip.triggerElement); + var service = Ext.getCmp('servicesGrid').getView().getRecord(tooltip.triggerElement); var ttContent = '<h3>' + service.get('shortName') + '</h3>'; ttContent += '<p>' + service.get('title') + '</p>'; ttContent += '<p>' + service.get('accessURL') + '</p>'; @@ -139,15 +140,14 @@ Ext.define('amdaUI.EpnTapUI', { renderTo: Ext.getBody() }); - var granulesGridView = this.granulesGrid.getView(); this.granuleTooltip = new Ext.tip.ToolTip({ id: 'granuleTooltip', - target: granulesGridView.el, - delegate: granulesGridView.itemSelector, + target: Ext.getCmp('granulesGrid').getView().el, + delegate: Ext.getCmp('granulesGrid').getView().itemSelector, trackMouse: true, listeners: { beforeshow: function updateTipBody(tooltip) { - var thumb = granulesGridView.getRecord(tooltip.triggerElement).get('thumbnail_url'); + var thumb = Ext.getCmp('granulesGrid').getView().getRecord(tooltip.triggerElement).get('thumbnail_url'); tooltip.update('<img src="' + thumb + '">'); } }, @@ -265,7 +265,7 @@ Ext.define('amdaUI.EpnTapUI', { height: 20, value: 20, minValue: 1, - maxValue: 500, + maxValue: 2000, listeners: { 'change': function(rowPerPageNf, newValue) { epnTapModule.onRowsPerPageChanged(newValue); -- libgit2 0.21.2