Commit 2887eb28 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Corrige capas diferidas con dimensión temporal

parent 4b2825ce
Loading
Loading
Loading
Loading
+33 −6
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ define([
	'dojo/_base/declare'
	, 'dojo/_base/lang'
	, 'dojo/aspect'
	, 'dojo/Deferred'
	, 'leaflet'
	, 'moment'
	, 'put-selector'
@@ -13,6 +14,7 @@ define([
	declare
	, lang
	, aspect
	, Deferred
	, L
	, moment
	, put
@@ -259,13 +261,38 @@ define([

		_getInnerLayer: function(layer, layerId) {

			var originalLayer = this.inherited(arguments);
			var originalInnerLayer = this.inherited(arguments);

			if (!originalLayer || !this._layersWithTimeDimension[layerId]) {
				return originalLayer;
			if (!originalInnerLayer || !this._layersWithTimeDimension[layerId]) {
				return originalInnerLayer;
			}

			var timeDimensionLayer = this._getLayerWithTimeDimensionWrapper(layerId, originalLayer);
			if (originalInnerLayer.then) {
				var timeDimensionLayerDfd = new Deferred();

				originalInnerLayer.then(lang.hitch(this, function(objArg, innerLayer) {

					var dfd = objArg.dfd,
						layer = objArg.layer,
						layerId = objArg.layerId,
						timeDimensionLayer = this._prepareLayerForUsageWithTimeDimension(layer, layerId, innerLayer);

					dfd.resolve(timeDimensionLayer);
				}, {
					layer: layer,
					layerId: layerId,
					dfd: timeDimensionLayerDfd
				}));

				return timeDimensionLayerDfd;
			}

			return this._prepareLayerForUsageWithTimeDimension(layer, layerId, originalInnerLayer);
		},

		_prepareLayerForUsageWithTimeDimension: function(layer, layerId, innerLayer) {

			var timeDimensionLayer = this._getLayerWithTimeDimensionWrapper(layerId, innerLayer);

			this._publish(layer.getChannel('SET_PROPS'), {
				layer: timeDimensionLayer
@@ -274,9 +301,9 @@ define([
			return timeDimensionLayer;
		},

		_getLayerWithTimeDimensionWrapper: function(layerId, originalLayer) {
		_getLayerWithTimeDimensionWrapper: function(layerId, innerLayer) {

			var layerWithoutTimeDimension = originalLayer.getBaseLayer ? originalLayer.getBaseLayer() : originalLayer;
			var layerWithoutTimeDimension = innerLayer.getBaseLayer ? innerLayer.getBaseLayer() : innerLayer;

			var timeDimensionLayer = L.timeDimension.layer.wms(layerWithoutTimeDimension, {
				timeDimension: this._timeDimensionInstance