Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-03-03 06:37:44 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-03-03 06:37:44 +0400
commit8110e9db5c6589e7f426b2aec6a4f7ccb2e6146e (patch)
treef9b6428e6d18894e6ec044c97a50c42d0e94f22e /plugins/Insights/javascripts
parentb6473579fd9de9d9860c62b1644b155370ca729e (diff)
refs #57 added possibility to place a widget multiple times (in case you want to see the same wdget with different visualizations and/or different parameters like different filters to make it easier comparable), removed some controls and save parameter changes in dashboard
Diffstat (limited to 'plugins/Insights/javascripts')
-rw-r--r--plugins/Insights/javascripts/insightsDataTable.js54
1 files changed, 38 insertions, 16 deletions
diff --git a/plugins/Insights/javascripts/insightsDataTable.js b/plugins/Insights/javascripts/insightsDataTable.js
index 400e50022e..3e39b669ef 100644
--- a/plugins/Insights/javascripts/insightsDataTable.js
+++ b/plugins/Insights/javascripts/insightsDataTable.js
@@ -11,6 +11,11 @@
DataTable = exports.DataTable,
dataTablePrototype = DataTable.prototype;
+ function getValueFromEvent(event)
+ {
+ return event.target.value ? event.target.value : $(event.target).attr('value');
+ }
+
/**
* UI control that handles extra functionality for Actions datatables.
*
@@ -38,62 +43,79 @@
this.initFilterBy(domElem);
},
+ _changeParameter: function (params) {
+
+ var widgetParams = {};
+
+ for (var index in params) {
+ if (params.hasOwnProperty(index)) {
+ this.param[index] = params[index];
+ widgetParams[index] = params[index];
+ }
+ }
+
+ this.notifyWidgetParametersChange(this.$element, widgetParams);
+ },
+
+ _changeParameterAndReload: function (params) {
+ this._changeParameter(params);
+ this.reloadAjaxDataTable(true);
+ },
+
initShowIncreaseOrDecrease: function (domElem) {
var self = this;
$('[name=showIncreaseOrDecrease]', domElem).bind('change', function (event) {
- var value = event.target.value;
+ var value = getValueFromEvent(event);
- self.param.limit_increaser = (value == 'both' || value == 'increase') ? '5' : '0';
- self.param.limit_decreaser = (value == 'both' || value == 'decrease') ? '5' : '0';
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({
+ limit_increaser: (value == 'both' || value == 'increase') ? '5' : '0',
+ limit_decreaser: (value == 'both' || value == 'decrease') ? '5' : '0'
+ });
});
},
initMinGrowthPercentage: function (domElem) {
var self = this;
$('[name=minGrowthPercent]', domElem).bind('change', function (event) {
- self.param.min_growth_percent = event.target.value;
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({min_growth_percent: getValueFromEvent(event)});
});
},
initOrderBy: function (domElem) {
var self = this;
$('[name=orderBy]', domElem).bind('change', function (event) {
- self.param.order_by = event.target.value;
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({order_by: getValueFromEvent(event)});
+ });
+ $('th[name=orderBy]', domElem).bind('click', function (event) {
+ self._changeParameterAndReload({order_by: getValueFromEvent(event)});
});
},
initMinVisitsPercent: function (domElem) {
var self = this;
$('[name=minVisitsPercent]', domElem).bind('change', function (event) {
- self.param.min_visits_percent = event.target.value;
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({min_visits_percent: getValueFromEvent(event)});
});
},
initBasedOnTotalMetric: function (domElem) {
var self = this;
$('[name=basedOnTotalMetric]', domElem).bind('change', function (event) {
- self.param.based_on_total_metric = event.target.value;
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({based_on_total_metric: getValueFromEvent(event)});
});
},
initComparedToXPeriodsAgo: function (domElem) {
var self = this;
$('[name=comparedToXPeriodsAgo]', domElem).bind('change', function (event) {
- self.param.compared_to_x_periods_ago = event.target.value;
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({compared_to_x_periods_ago: getValueFromEvent(event)});
});
},
initFilterBy: function (domElem) {
var self = this;
$('[name=filterBy]', domElem).bind('change', function (event) {
- self.param.filter_by = event.target.value;
- self.reloadAjaxDataTable(true);
+ self._changeParameterAndReload({filter_by: getValueFromEvent(event)});
});
}
});