diff --git a/generic_data/EpnTapData/dataproduct_types.json b/generic_data/EpnTapData/dataproduct_types.json deleted file mode 100644 index 6de349f..0000000 --- a/generic_data/EpnTapData/dataproduct_types.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "im": "Image", - "ma": "Map", - "sp": "Spectrum", - "ds": "Dynamic spectrum", - "sc": "Spectral cube", - "pr": "Profile", - "vo": "Volume", - "mo": "Movie", - "cu": "Cube", - "ts": "Time series", - "ca": "Catalogue", - "ci": "Catalogue item" -} diff --git a/generic_data/EpnTapData/mimetypes.json b/generic_data/EpnTapData/mimetypes.json deleted file mode 100644 index 81cf9f5..0000000 --- a/generic_data/EpnTapData/mimetypes.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "application/fits": "fits", - "application/x-pds": "pds", - "image/x-pds": "pds", - "application/gml+xml": "gml", - "application/json": "json", - "application/octet-stream": "bin, idl, envi or matlab", - "application/pdf": "pdf", - "application/postscript": "ps", - "application/vnd.geo+json": "geojson", - "application/vnd.google-earth.kml+xml": "kml", - "application/vnd.google-earth.kmz": "kmz", - "application/vnd.ms-excel": "xls", - "application/x-asdm": "asdm", - "application/x-cdf": "cdf", - "application/x-cdf-istp": "cdf", - "application/x-cdf-pds4": "cdf", - "application/x-cef1": "cef1", - "application/x-cef2": "cef2", - "application/x-directory": "dir", - "application/x-fits-bintable": "bintable", - "application/x-fits-euro3d": "euro3d", - "application/x-fits-mef": "mef", - "application/x-geotiff": "geotiff", - "application/x-hdf": "hdf", - "application/x-netcdf": "nc", - "application/x-netcdf4": "nc", - "application/x-tar": "tar", - "application/x-tar-gzip": "gtar", - "application/x-votable+xml": "votable", - "application/x-votable+xml;content=datalink": "votable", - "application/zip": "zip", - "image/fits": "fits", - "image/gif": "gif", - "image/jpeg": "jpeg", - "image/png": "png", - "image/tiff": "tiff", - "image/x-fits-gzip": "fits", - "image/x-fits-hcompress": "fits", - "text/csv": "csv", - "text/html": "html", - "text/plain": "txt", - "text/tab-separated-values": "tsv", - "text/xml": "xml", - "video/mpeg": "mpeg", - "video/quicktime": "mov", - "video/x-msvideo": "avi" -} diff --git a/js/app/controllers/EpnTapModule.js b/js/app/controllers/EpnTapModule.js index 13a5f14..274e2b8 100644 --- a/js/app/controllers/EpnTapModule.js +++ b/js/app/controllers/EpnTapModule.js @@ -7,6 +7,70 @@ * @author Nathanael Jourdane */ +productTypeDict = { + 'im': 'Image', + 'ma': 'Map', + 'sp': 'Spectrum', + 'ds': 'Dynamic spectrum', + 'sc': 'Spectral cube', + 'pr': 'Profile', + 'vo': 'Volume', + 'mo': 'Movie', + 'cu': 'Cube', + 'ts': 'Time series', + 'ca': 'Catalogue', + 'ci': 'Catalogue item' +} + +mimetypeDict = { + 'application/fits': 'fits', + 'application/x-pds': 'pds', + 'image/x-pds': 'pds', + 'application/gml+xml': 'gml', + 'application/json': 'json', + 'application/octet-stream': 'bin, idl, envi or matlab', + 'application/pdf': 'pdf', + 'application/postscript': 'ps', + 'application/vnd.geo+json': 'geojson', + 'application/vnd.google-earth.kml+xml': 'kml', + 'application/vnd.google-earth.kmz': 'kmz', + 'application/vnd.ms-excel': 'xls', + 'application/x-asdm': 'asdm', + 'application/x-cdf': 'cdf', + 'application/x-cdf-istp': 'cdf', + 'application/x-cdf-pds4': 'cdf', + 'application/x-cef1': 'cef1', + 'application/x-cef2': 'cef2', + 'application/x-directory': 'dir', + 'application/x-fits-bintable': 'bintable', + 'application/x-fits-euro3d': 'euro3d', + 'application/x-fits-mef': 'mef', + 'application/x-geotiff': 'geotiff', + 'application/x-hdf': 'hdf', + 'application/x-netcdf': 'nc', + 'application/x-netcdf4': 'nc', + 'application/x-tar': 'tar', + 'application/x-tar-gzip': 'gtar', + 'application/x-votable+xml': 'votable', + 'application/x-votable+xml;content=datalink': 'votable', + 'application/zip': 'zip', + 'image/fits': 'fits', + 'image/gif': 'gif', + 'image/jpeg': 'jpeg', + 'image/png': 'png', + 'image/tiff': 'tiff', + 'image/x-fits-gzip': 'fits', + 'image/x-fits-hcompress': 'fits', + 'text/csv': 'csv', + 'text/html': 'html', + 'text/plain': 'txt', + 'text/tab-separated-values': 'tsv', + 'text/xml': 'xml', + 'video/mpeg': 'mpeg', + 'video/quicktime': 'mov', + 'video/x-msvideo': 'avi' +} + // Load text with Ajax synchronously: takes path to file and optional MIME type. function loadTextFileAjaxSync(filePath, mimeType) { var xmlhttp=new XMLHttpRequest(); @@ -47,8 +111,6 @@ Ext.define('amdaDesktop.EpnTapModule', { this.metadata = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/metadata.json', 'application/json')); this.services = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/services.json', 'application/json')); - this.productTypeDict = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/dataproduct_types.json', 'application/json')); - this.mimetypeDict = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/mimetypes.json', 'application/json')); this.select = Array(); this.filter = Array(); @@ -111,7 +173,7 @@ Ext.define('amdaDesktop.EpnTapModule', { } var target = icons_dic[icon_id]; - console.log("target: ", target); + // console.log("target: ", target); this.initWindow(target); }, @@ -143,8 +205,8 @@ Ext.define('amdaDesktop.EpnTapModule', { // Update productTypeCB this.productTypeCB.getStore().add({'id': 'all', 'name': 'All data product types'}); for (var productTypeId in this.metadata) { - if (productTypeId in this.productTypeDict) { - this.productTypeCB.getStore().add({'id': productTypeId, 'name': this.prettify(this.productTypeDict[productTypeId])}); + if (productTypeId in productTypeDict) { + this.productTypeCB.getStore().add({'id': productTypeId, 'name': this.prettify(productTypeDict[productTypeId])}); } else { console.log('Unknown data product type "' + productTypeId + '"'); } @@ -154,7 +216,7 @@ Ext.define('amdaDesktop.EpnTapModule', { if(target) { // --- Select product types --- if (! target[0] in this.productTypeCB.getStore()) { - alert("Sorry, product type " + this.productTypeDict[target[0]] + " is not found in available services."); + alert("Sorry, product type " + productTypeDict[target[0]] + " is not found in available services."); return; } this.productTypeCB.select(target[0]); @@ -214,7 +276,7 @@ Ext.define('amdaDesktop.EpnTapModule', { this.targetClassCB.disable(); this.targetClassCB.select(this.targetClassCB.getStore().getAt(0)['internalId']); } else { - this.targetClassCB.getStore().add({'id': 'all', 'name': this.allPrettify(this.productTypeDict[this.productTypeCB.value])}); + this.targetClassCB.getStore().add({'id': 'all', 'name': this.allPrettify(productTypeDict[this.productTypeCB.value])}); for (var targetClassId in targetClasses) { this.targetClassCB.getStore().add({'id': targetClassId, 'name': this.prettify(targetClassId)}); } @@ -272,7 +334,7 @@ Ext.define('amdaDesktop.EpnTapModule', { for debug purposes only. */ onRowsPerPageChanged: function() { - console.log("rows per page: " + this.productTypeCB); + // console.log("rows per page: " + this.productTypeCB); }, /********************* @@ -349,7 +411,7 @@ Ext.define('amdaDesktop.EpnTapModule', { var offset = (newPageNumber-1) * limit; var selectedServiceURL = this.services[this.selectedServiceId]['accessurl']; - console.log(newPageNumber, limit, offset, selectedServiceURL); + // console.log(newPageNumber, limit, offset, selectedServiceURL); this.wait(); this.currentPageLb.setText('' + newPageNumber); @@ -397,8 +459,8 @@ Ext.define('amdaDesktop.EpnTapModule', { Trigerred when a row is clicked in `granulesGrid` table (see `EpnTapUI.createGranulesGrid()`). Do nothing yet, used for debug purposes only. */ - onGranuleSelected: function(ui) { - console.log('selected granule: ' + granule.targetName); + onGranuleSelected: function(granule) { + // console.log('selected granule: ' + granule['target_name']); }, /********************** @@ -535,7 +597,6 @@ Ext.define('amdaDesktop.EpnTapModule', { */ fillGranules: function(granules) { // console.log(granules); - // return; if (granules["error"] != null) { alert(granules["error"]); diff --git a/js/app/views/EpnTapUI.js b/js/app/views/EpnTapUI.js index 399e5c0..a967751 100644 --- a/js/app/views/EpnTapUI.js +++ b/js/app/views/EpnTapUI.js @@ -89,7 +89,7 @@ Ext.create('Ext.data.Store', { /** `granulesStore`: An ExtJS Store containing the list of granules of the selected service (on `servicesGrid`), which match -with tge granules filter (the selected data product type, target class and target name). +with the granules filter (the selected data product type, target class and target name). This list is used to fill the `granulesGrid` table, which is updated by `EpnTapModule` each time a new service is selected. @@ -231,21 +231,27 @@ Ext.define('amdaUI.EpnTapUI', { */ var createGranulesGrid = function() { var txtRender = function(val) { + console.log('txtRender: ' + val); return '<p style="white-space: normal;">' + val + '</p>'; }; var linkRender = function(val) { + console.log('linkRender: ' + val); return '<a href="' + val + '">data</a>'; }; var imgRender = function(val) { + console.log('imgRender: ' + val); return '<img width="40px height="40px" src="' + val + '">'; }; var dptRender = function(val) { + console.log('dptRender: ' + val); return (val in mod.productTypeDict) ? '<p style="white-space: normal;">' + mod.productTypeDict[val] + '</p>' : '<em>' + val + '</em>'; }; var formatRender = function(val) { + console.log('formatRender: ' + val); return (val in mod.mimetypeDict) ? mod.mimetypeDict[val] : '<em style="white-space: normal;">' + val + '</em>'; }; var sizeRender = function(val) { + console.log('sizeRender: ' + val); var size = parseInt(val); if (isNaN(size)) { return ''; @@ -269,18 +275,18 @@ Ext.define('amdaUI.EpnTapUI', { // height: 500, columns: [ { text: 'Num', dataIndex: 'num', flex: 1, renderer: txtRender }, - { text: 'Type', dataIndex: 'dataproduct_type', flex: 2, renderer: dptRender }, + // { text: 'Type', dataIndex: 'dataproduct_type', flex: 2, renderer: dptRender }, { text: 'Target', dataIndex: 'target_name', flex: 2, renderer: txtRender }, { text: 'Time min', dataIndex: 'time_min', flex: 2, renderer: txtRender }, { text: 'Time max', dataIndex: 'time_max', flex: 2, renderer: txtRender }, - { text: 'Format', dataIndex: 'access_format', flex: 2, renderer: formatRender }, + // { text: 'Format', dataIndex: 'access_format', flex: 2, renderer: formatRender }, { text: 'uid', dataIndex: 'granule_uid', flex: 2, renderer: txtRender }, { text: 'Size', dataIndex: 'access_estsize', flex: 1, renderer: sizeRender }, { text: 'URL', dataIndex: 'access_url', flex: 1, renderer: linkRender }, { text: 'Thumb.', dataIndex: 'thumbnail_url', flex: 1, renderer: imgRender} ], listeners: { - 'cellclick': function(grid, td, cellIndex, record) { mod.onGranuleSelected(record.data['id']); } + 'cellclick': function(grid, td, cellIndex, record) { mod.onGranuleSelected(record.data); } }, renderTo: Ext.getBody() }); diff --git a/php/classes/EpnTapMgr.php b/php/classes/EpnTapMgr.php index 15c0e26..838a032 100644 --- a/php/classes/EpnTapMgr.php +++ b/php/classes/EpnTapMgr.php @@ -60,6 +60,7 @@ class EpnTapMgr { $result[$i]['time_max'] = $this->JDTodate($result[$i]['time_max']); } } + return $result; } diff --git a/php/classes/VOTableMgr.php b/php/classes/VOTableMgr.php index 7bfa3ee..b48929f 100644 --- a/php/classes/VOTableMgr.php +++ b/php/classes/VOTableMgr.php @@ -19,7 +19,6 @@ class VOTableMgr { function addLog($msg) { if (DEBUG_MODE) { error_log("INFO " . $msg); - // print "test"; } } -- libgit2 0.21.2