Loading public/javascript/app/details/views/ActivityChart.js +1 −1 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ define([ this._buildChartData(sourceData); this._publish(this._getWidgetInstance('chartDesign').getChannel('SET_PROPS'), { chartsData: this.seriesData chartsData: this._getChartsDefinitionData() }); }, Loading public/javascript/app/details/views/_ActivityTimeSeriesDataManagement.js +121 −19 Original line number Diff line number Diff line define([ 'app/viewers/views/_TimeSeriesDataManagement' , 'dojo/_base/declare' 'dojo/_base/declare' , 'dojo/_base/lang' ], function( _TimeSeriesDataManagement , declare declare , lang ) { return declare(_TimeSeriesDataManagement, { return declare(null, { // summary: // Extensión para la vista de detalle de actividad para el manejo de series temporales. constructor: function(args) { this.config = { emptySeriesData: { pathSeparator: '.', _timeseriesDefinitionList: [], _timeseriesStationList: [], _timeseriesDefinitionIndexByPath: {}, _timeseriesStationIndexByPath: {}, // TODO renombrar, esqueleto de 'seriesData' _emptySeriesData: { data: { stations: {}, parameters: {}, Loading @@ -25,7 +29,9 @@ define([ parameterIndex: {}, definitionIndex: {} }, pathSeparator: '.' // TODO renombrar, definición de datos de timeseries disponibles para consultar // por ejemplo, '_chartsDefinitionData' seriesData: null }; lang.mixin(this, this.config); Loading @@ -33,33 +39,106 @@ define([ _buildChartData: function(sourceData) { this._dataList = []; this._indexDataList = {}; this._clear(); var parsedData = this._parseData(sourceData); this._generateTimeSeriesDataFromParsedData(parsedData); this._parseData(sourceData); this._generateChartsDefinitionDataFromTimeseriesInternalStructures(); }, _generateTimeSeriesDataFromParsedData: function(parsedData) { _parseData: function(item) { var site = item.site, measurementsSize = item.measurements.length, parameters = [], dataList = []; for (var n = 0; n < measurementsSize; n++) { var measurement = item.measurements[n], parameter = measurement.parameter, dataDefinition = measurement.dataDefinition, index = this._isInserted(dataList, parameter.path); if (index < 0) { parameter.leaves = 0; parameter.dataDefinitions = [dataDefinition]; parameter.unit = measurement.unit.name; parameters.push(parameter); dataList.push(parameter); } else { dataList[index].dataDefinitions.push(dataDefinition); } } this._clear(); site.activityId = item.activityId; site.leaves = parameters.length; dataList.push(site); this._addSourceDataToTimeseriesInternalStructures(dataList); }, _isInserted: function(data, itemId) { for (var n = 0; n < data.length; n++) { if (data[n].path === itemId) { return n; } } return -1; }, _addSourceDataToTimeseriesInternalStructures: function(data) { for (var i = 0; i < data.length; i++) { var item = data[i], itemPath = item.path, isStationItem = itemPath.split(this.pathSeparator).length < 3; if (isStationItem) { this._timeseriesStationList.push(item); this._timeseriesStationIndexByPath[itemPath] = this._timeseriesStationList.length - 1; } else { this._timeseriesDefinitionList.push(item); this._timeseriesDefinitionIndexByPath[itemPath] = this._timeseriesDefinitionList.length - 1; } } }, _timeseriesDefinitionListIsEmpty: function() { return !this._timeseriesDefinitionList || this._timeseriesDefinitionList.length === 0; }, _getTimeseriesDefinitionList: function() { for (var i = 0; i < parsedData.length; i++) { var item = parsedData[i], return this._timeseriesDefinitionList; }, _generateChartsDefinitionDataFromTimeseriesInternalStructures: function() { for (var i = 0; i < this._timeseriesDefinitionList.length; i++) { var item = this._timeseriesDefinitionList[i], path = item.path; this._insertItemInDataChart(path); } }, // TODO renombrar _insertItemInDataChart: function(path) { if (this._indexDataList[path] === undefined || path.split(this.pathSeparator).length < 3) { var itemIndex = this._timeseriesDefinitionIndexByPath[path]; if (itemIndex === undefined) { return false; } var item = this._dataList[this._indexDataList[path]], stationId = this._insertStation(this._dataList[this._indexDataList[this._getParentPath(path)]]), var item = this._timeseriesDefinitionList[itemIndex], parentPath = this._getParentPath(path), parentIndex = this._timeseriesStationIndexByPath[parentPath], parentItem = this._timeseriesStationList[parentIndex], stationId = this._insertStation(parentItem), parameterId = this._insertParameter(item), dataDefinitionIds = this._insertDataDefinitions(item); Loading @@ -75,6 +154,7 @@ define([ return path.replace(regex, '$1'); }, // TODO renombrar _insertStation: function(itemStation) { if (itemStation && !this.seriesData.data.stations[itemStation.id]) { Loading @@ -84,6 +164,7 @@ define([ return itemStation.id; }, // TODO renombrar _insertParameter: function(item) { var parameter = lang.clone(item); Loading @@ -95,6 +176,7 @@ define([ return item.id; }, // TODO renombrar _insertDataDefinitions: function(item) { var ids = {}, Loading @@ -119,6 +201,7 @@ define([ return ids; }, // TODO renombrar _insertOrUpdateIndex: function(stationId, parameterId, dataDefinitionIds) { if (!this.seriesData.stationIndex[stationId]) { Loading @@ -145,11 +228,30 @@ define([ } }, _getChartsDefinitionData: function() { return this.seriesData; }, _clear: function() { this.inherited(arguments); this.seriesData = lang.clone(this.emptySeriesData); this._clearChartsDefinitionData(); this._clearTimeseriesInternalStructures(); }, _clearChartsDefinitionData: function() { this.seriesData = lang.clone(this._emptySeriesData); }, _clearTimeseriesInternalStructures: function() { this._timeseriesDefinitionList = []; this._timeseriesStationList = []; this._timeseriesDefinitionIndexByPath = {}; this._timeseriesStationIndexByPath = {}; } }); }); public/javascript/app/viewers/views/ChartsView.js +3 −3 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ define([ , "app/designs/dynamicDualContent/main/FacetsWithDynamicRightContent" , "app/designs/list/Controller" , "app/designs/list/layout/Layout" , 'app/details/views/_ActivityTimeSeriesDataManagement' , 'app/viewers/views/_TimeSeriesDataManagement' , "app/viewers/views/_TimeSeriesSelectionManagement" , "app/redmicConfig" , "dojo/_base/declare" Loading Loading @@ -35,7 +35,7 @@ define([ , FacetsWithDynamicRightContent , ListController , ListLayout , _ActivityTimeSeriesDataManagement , _TimeSeriesDataManagement , _TimeSeriesSelectionManagement , redmicConfig , declare Loading @@ -58,7 +58,7 @@ define([ , ListTemplate ){ return declare([ EmbeddedContentSelectionInTopbar, _ActivityTimeSeriesDataManagement, _TimeSeriesSelectionManagement EmbeddedContentSelectionInTopbar, _TimeSeriesDataManagement, _TimeSeriesSelectionManagement ], { // summary: // Vista de ChartsView. Loading public/javascript/app/viewers/views/TrashDetails.js +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ define([ activityTarget: redmicConfig.services.activity, intervalValue: '1q', _dataList: [], //_dataList: [], _pathSeparator: '.', _idData: null, embeddedButtons: { Loading public/javascript/app/viewers/views/_TimeSeriesDataManagement.js +10 −68 Original line number Diff line number Diff line define([ 'app/redmicConfig' , 'app/details/views/_ActivityTimeSeriesDataManagement' , "dojo/_base/declare" , "dojo/_base/lang" , "dojo/aspect" Loading @@ -9,6 +10,7 @@ define([ , "redmic/modules/search/FacetsImpl" ], function( redmicConfig , _ActivityTimeSeriesDataManagement , declare , lang , aspect Loading @@ -18,7 +20,7 @@ define([ , FacetsImpl ) { return declare([_Filter, _Store], { return declare([_Filter, _Store, _ActivityTimeSeriesDataManagement], { // summary: // Extensión para la vista de timeSeries para el manejo de datos. // description: Loading @@ -31,8 +33,6 @@ define([ dataViewActions: {}, _listDataReturnFields: redmicConfig.returnFields.timeSeriesStationsList, _mapReturnFields: redmicConfig.returnFields.timeSeriesStationsMap, _dataList: [], _indexDataList: {}, _getListDataDfd: null }; Loading Loading @@ -81,7 +81,7 @@ define([ this._prepareDataToInject(data.features); if (currentEmbeddedContentKey === embeddedListKey) { this._injectDataToList(data.features); this._injectDataToList(); } else { this._injectDataToMap(data); } Loading @@ -95,20 +95,19 @@ define([ _itemAvailable: function(response) { var dataToInject = this._parseData(response.data.properties); this._parseData(response.data.properties); this._publish(this.browserPopup.getChannel("SHOW")); this._emitEvt('INJECT_DATA', { data: dataToInject, data: this._getTimeseriesDefinitionList(), target: this.browserPopupTarget }); }, _prepareDataToInject: function(features) { this._dataList = []; this._indexDataList = {}; this._clearTimeseriesInternalStructures(); for (var i = 0; i < features.length; i++) { this._parseData(features[i].properties); Loading @@ -123,66 +122,14 @@ define([ }); }, _injectDataToList: function(features) { _injectDataToList: function() { this._emitEvt('INJECT_DATA', { data: lang.clone(this._dataList), data: lang.clone(this._getTimeseriesDefinitionList()), target: this.browserTarget }); }, _parseData: function(item) { var site = item.site, measurementsSize = item.measurements.length, parameters = [], dataList = []; for (var n = 0; n < measurementsSize; n++) { var measurement = item.measurements[n], parameter = measurement.parameter, dataDefinition = measurement.dataDefinition, index = this._isInserted(dataList, parameter.path); if (index < 0) { parameter.leaves = 0; parameter.dataDefinitions = [dataDefinition]; parameter.unit = measurement.unit.name; parameters.push(parameter); dataList.push(parameter); } else { dataList[index].dataDefinitions.push(dataDefinition); } } site.activityId = item.activityId; site.leaves = parameters.length; dataList.push(site); this._addToDataList(dataList); return dataList; }, _isInserted: function(data, itemId) { for (var n = 0; n < data.length; n++) { if (data[n].path === itemId) { return n; } } return -1; }, _addToDataList: function(data) { for (var i = 0; i < data.length; i++) { this._dataList.push(data[i]); this._indexDataList[data[i].path] = this._dataList.length - 1; } }, _getMapData: function() { this._emitEvt('ADD_TO_QUERY', { Loading @@ -198,7 +145,7 @@ define([ return; } if (this._dataListIsEmpty()) { if (this._timeseriesDefinitionListIsEmpty()) { this._getListDataDfd = new Deferred(); this._getListData(); } else { Loading @@ -206,11 +153,6 @@ define([ } }, _dataListIsEmpty: function() { return !this._dataList || this._dataList.length === 0; }, _getListData: function() { this._emitEvt('ADD_TO_QUERY', { Loading Loading
public/javascript/app/details/views/ActivityChart.js +1 −1 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ define([ this._buildChartData(sourceData); this._publish(this._getWidgetInstance('chartDesign').getChannel('SET_PROPS'), { chartsData: this.seriesData chartsData: this._getChartsDefinitionData() }); }, Loading
public/javascript/app/details/views/_ActivityTimeSeriesDataManagement.js +121 −19 Original line number Diff line number Diff line define([ 'app/viewers/views/_TimeSeriesDataManagement' , 'dojo/_base/declare' 'dojo/_base/declare' , 'dojo/_base/lang' ], function( _TimeSeriesDataManagement , declare declare , lang ) { return declare(_TimeSeriesDataManagement, { return declare(null, { // summary: // Extensión para la vista de detalle de actividad para el manejo de series temporales. constructor: function(args) { this.config = { emptySeriesData: { pathSeparator: '.', _timeseriesDefinitionList: [], _timeseriesStationList: [], _timeseriesDefinitionIndexByPath: {}, _timeseriesStationIndexByPath: {}, // TODO renombrar, esqueleto de 'seriesData' _emptySeriesData: { data: { stations: {}, parameters: {}, Loading @@ -25,7 +29,9 @@ define([ parameterIndex: {}, definitionIndex: {} }, pathSeparator: '.' // TODO renombrar, definición de datos de timeseries disponibles para consultar // por ejemplo, '_chartsDefinitionData' seriesData: null }; lang.mixin(this, this.config); Loading @@ -33,33 +39,106 @@ define([ _buildChartData: function(sourceData) { this._dataList = []; this._indexDataList = {}; this._clear(); var parsedData = this._parseData(sourceData); this._generateTimeSeriesDataFromParsedData(parsedData); this._parseData(sourceData); this._generateChartsDefinitionDataFromTimeseriesInternalStructures(); }, _generateTimeSeriesDataFromParsedData: function(parsedData) { _parseData: function(item) { var site = item.site, measurementsSize = item.measurements.length, parameters = [], dataList = []; for (var n = 0; n < measurementsSize; n++) { var measurement = item.measurements[n], parameter = measurement.parameter, dataDefinition = measurement.dataDefinition, index = this._isInserted(dataList, parameter.path); if (index < 0) { parameter.leaves = 0; parameter.dataDefinitions = [dataDefinition]; parameter.unit = measurement.unit.name; parameters.push(parameter); dataList.push(parameter); } else { dataList[index].dataDefinitions.push(dataDefinition); } } this._clear(); site.activityId = item.activityId; site.leaves = parameters.length; dataList.push(site); this._addSourceDataToTimeseriesInternalStructures(dataList); }, _isInserted: function(data, itemId) { for (var n = 0; n < data.length; n++) { if (data[n].path === itemId) { return n; } } return -1; }, _addSourceDataToTimeseriesInternalStructures: function(data) { for (var i = 0; i < data.length; i++) { var item = data[i], itemPath = item.path, isStationItem = itemPath.split(this.pathSeparator).length < 3; if (isStationItem) { this._timeseriesStationList.push(item); this._timeseriesStationIndexByPath[itemPath] = this._timeseriesStationList.length - 1; } else { this._timeseriesDefinitionList.push(item); this._timeseriesDefinitionIndexByPath[itemPath] = this._timeseriesDefinitionList.length - 1; } } }, _timeseriesDefinitionListIsEmpty: function() { return !this._timeseriesDefinitionList || this._timeseriesDefinitionList.length === 0; }, _getTimeseriesDefinitionList: function() { for (var i = 0; i < parsedData.length; i++) { var item = parsedData[i], return this._timeseriesDefinitionList; }, _generateChartsDefinitionDataFromTimeseriesInternalStructures: function() { for (var i = 0; i < this._timeseriesDefinitionList.length; i++) { var item = this._timeseriesDefinitionList[i], path = item.path; this._insertItemInDataChart(path); } }, // TODO renombrar _insertItemInDataChart: function(path) { if (this._indexDataList[path] === undefined || path.split(this.pathSeparator).length < 3) { var itemIndex = this._timeseriesDefinitionIndexByPath[path]; if (itemIndex === undefined) { return false; } var item = this._dataList[this._indexDataList[path]], stationId = this._insertStation(this._dataList[this._indexDataList[this._getParentPath(path)]]), var item = this._timeseriesDefinitionList[itemIndex], parentPath = this._getParentPath(path), parentIndex = this._timeseriesStationIndexByPath[parentPath], parentItem = this._timeseriesStationList[parentIndex], stationId = this._insertStation(parentItem), parameterId = this._insertParameter(item), dataDefinitionIds = this._insertDataDefinitions(item); Loading @@ -75,6 +154,7 @@ define([ return path.replace(regex, '$1'); }, // TODO renombrar _insertStation: function(itemStation) { if (itemStation && !this.seriesData.data.stations[itemStation.id]) { Loading @@ -84,6 +164,7 @@ define([ return itemStation.id; }, // TODO renombrar _insertParameter: function(item) { var parameter = lang.clone(item); Loading @@ -95,6 +176,7 @@ define([ return item.id; }, // TODO renombrar _insertDataDefinitions: function(item) { var ids = {}, Loading @@ -119,6 +201,7 @@ define([ return ids; }, // TODO renombrar _insertOrUpdateIndex: function(stationId, parameterId, dataDefinitionIds) { if (!this.seriesData.stationIndex[stationId]) { Loading @@ -145,11 +228,30 @@ define([ } }, _getChartsDefinitionData: function() { return this.seriesData; }, _clear: function() { this.inherited(arguments); this.seriesData = lang.clone(this.emptySeriesData); this._clearChartsDefinitionData(); this._clearTimeseriesInternalStructures(); }, _clearChartsDefinitionData: function() { this.seriesData = lang.clone(this._emptySeriesData); }, _clearTimeseriesInternalStructures: function() { this._timeseriesDefinitionList = []; this._timeseriesStationList = []; this._timeseriesDefinitionIndexByPath = {}; this._timeseriesStationIndexByPath = {}; } }); });
public/javascript/app/viewers/views/ChartsView.js +3 −3 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ define([ , "app/designs/dynamicDualContent/main/FacetsWithDynamicRightContent" , "app/designs/list/Controller" , "app/designs/list/layout/Layout" , 'app/details/views/_ActivityTimeSeriesDataManagement' , 'app/viewers/views/_TimeSeriesDataManagement' , "app/viewers/views/_TimeSeriesSelectionManagement" , "app/redmicConfig" , "dojo/_base/declare" Loading Loading @@ -35,7 +35,7 @@ define([ , FacetsWithDynamicRightContent , ListController , ListLayout , _ActivityTimeSeriesDataManagement , _TimeSeriesDataManagement , _TimeSeriesSelectionManagement , redmicConfig , declare Loading @@ -58,7 +58,7 @@ define([ , ListTemplate ){ return declare([ EmbeddedContentSelectionInTopbar, _ActivityTimeSeriesDataManagement, _TimeSeriesSelectionManagement EmbeddedContentSelectionInTopbar, _TimeSeriesDataManagement, _TimeSeriesSelectionManagement ], { // summary: // Vista de ChartsView. Loading
public/javascript/app/viewers/views/TrashDetails.js +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ define([ activityTarget: redmicConfig.services.activity, intervalValue: '1q', _dataList: [], //_dataList: [], _pathSeparator: '.', _idData: null, embeddedButtons: { Loading
public/javascript/app/viewers/views/_TimeSeriesDataManagement.js +10 −68 Original line number Diff line number Diff line define([ 'app/redmicConfig' , 'app/details/views/_ActivityTimeSeriesDataManagement' , "dojo/_base/declare" , "dojo/_base/lang" , "dojo/aspect" Loading @@ -9,6 +10,7 @@ define([ , "redmic/modules/search/FacetsImpl" ], function( redmicConfig , _ActivityTimeSeriesDataManagement , declare , lang , aspect Loading @@ -18,7 +20,7 @@ define([ , FacetsImpl ) { return declare([_Filter, _Store], { return declare([_Filter, _Store, _ActivityTimeSeriesDataManagement], { // summary: // Extensión para la vista de timeSeries para el manejo de datos. // description: Loading @@ -31,8 +33,6 @@ define([ dataViewActions: {}, _listDataReturnFields: redmicConfig.returnFields.timeSeriesStationsList, _mapReturnFields: redmicConfig.returnFields.timeSeriesStationsMap, _dataList: [], _indexDataList: {}, _getListDataDfd: null }; Loading Loading @@ -81,7 +81,7 @@ define([ this._prepareDataToInject(data.features); if (currentEmbeddedContentKey === embeddedListKey) { this._injectDataToList(data.features); this._injectDataToList(); } else { this._injectDataToMap(data); } Loading @@ -95,20 +95,19 @@ define([ _itemAvailable: function(response) { var dataToInject = this._parseData(response.data.properties); this._parseData(response.data.properties); this._publish(this.browserPopup.getChannel("SHOW")); this._emitEvt('INJECT_DATA', { data: dataToInject, data: this._getTimeseriesDefinitionList(), target: this.browserPopupTarget }); }, _prepareDataToInject: function(features) { this._dataList = []; this._indexDataList = {}; this._clearTimeseriesInternalStructures(); for (var i = 0; i < features.length; i++) { this._parseData(features[i].properties); Loading @@ -123,66 +122,14 @@ define([ }); }, _injectDataToList: function(features) { _injectDataToList: function() { this._emitEvt('INJECT_DATA', { data: lang.clone(this._dataList), data: lang.clone(this._getTimeseriesDefinitionList()), target: this.browserTarget }); }, _parseData: function(item) { var site = item.site, measurementsSize = item.measurements.length, parameters = [], dataList = []; for (var n = 0; n < measurementsSize; n++) { var measurement = item.measurements[n], parameter = measurement.parameter, dataDefinition = measurement.dataDefinition, index = this._isInserted(dataList, parameter.path); if (index < 0) { parameter.leaves = 0; parameter.dataDefinitions = [dataDefinition]; parameter.unit = measurement.unit.name; parameters.push(parameter); dataList.push(parameter); } else { dataList[index].dataDefinitions.push(dataDefinition); } } site.activityId = item.activityId; site.leaves = parameters.length; dataList.push(site); this._addToDataList(dataList); return dataList; }, _isInserted: function(data, itemId) { for (var n = 0; n < data.length; n++) { if (data[n].path === itemId) { return n; } } return -1; }, _addToDataList: function(data) { for (var i = 0; i < data.length; i++) { this._dataList.push(data[i]); this._indexDataList[data[i].path] = this._dataList.length - 1; } }, _getMapData: function() { this._emitEvt('ADD_TO_QUERY', { Loading @@ -198,7 +145,7 @@ define([ return; } if (this._dataListIsEmpty()) { if (this._timeseriesDefinitionListIsEmpty()) { this._getListDataDfd = new Deferred(); this._getListData(); } else { Loading @@ -206,11 +153,6 @@ define([ } }, _dataListIsEmpty: function() { return !this._dataList || this._dataList.length === 0; }, _getListData: function() { this._emitEvt('ADD_TO_QUERY', { Loading