Questtype ?Textinput?: add support for field sizes (Issue #252) and general improvements

This commit is contained in:
coderkun 2014-05-19 11:36:36 +02:00
commit 8d903135a5
3476 changed files with 599099 additions and 0 deletions

View file

@ -0,0 +1,55 @@
/*!
* Piwik - Web Analytics
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
/**
* Renders a single website row, for instance to be used within the MultiSites Dashboard.
*
* Usage:
* <div piwik-multisites-site>
* website="{label: 'Name', main_url: 'http://...', idsite: '...'}"
* evolution-metric="visits_evolution"
* show-sparklines="true"
* date-sparkline="2014-01-01,2014-02-02"
* display-revenue-column="true"
* </div>
*/
angular.module('piwikApp').directive('piwikMultisitesSite', function($document, piwik, $filter){
return {
restrict: 'AC',
replace: true,
scope: {
website: '=',
evolutionMetric: '=',
showSparklines: '=',
dateSparkline: '=',
displayRevenueColumn: '=',
metric: '='
},
templateUrl: 'plugins/MultiSites/angularjs/site/site.html?cb=' + piwik.cacheBuster,
controller: function ($scope) {
$scope.period = piwik.period;
$scope.date = piwik.broadcast.getValueFromUrl('date');
$scope.parseInt = parseInt;
this.getWebsite = function () {
return $scope.website;
};
$scope.sparklineImage = function(website){
var append = '';
var token_auth = piwik.broadcast.getValueFromUrl('token_auth');
if (token_auth.length) {
append = '&token_auth=' + token_auth;
}
return piwik.piwik_url + '?module=MultiSites&action=getEvolutionGraph&period=' + $scope.period + '&date=' + $scope.dateSparkline + '&evolutionBy=' +$scope.metric + '&columns=' + $scope.metric + '&idSite=' + website.idsite + '&idsite=' + website.idsite + '&viewDataTable=sparkline' + append + '&colors=' + encodeURIComponent(JSON.stringify(piwik.getSparklineColors()));
};
}
};
});

View file

@ -0,0 +1,39 @@
<tr ng-class="{'groupedWebsite': website.group, 'website': !website.group, 'group': website.isGroup}">
<td ng-if="!website.isGroup" class="multisites-label label">
<a title="View reports" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}">{{ website.label }}</a>
<span style="width: 10px; margin-left:3px;">
<a target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}">
<img src="plugins/MultiSites/images/link.gif"/></a>
</span>
</td>
<td ng-if="website.isGroup" class="multisites-label label">
{{ website.label }}
</td>
<td class="multisites-column">
{{ website.nb_visits }}
</td>
<td class="multisites-column">
{{ website.nb_pageviews }}
</td>
<td ng-if="displayRevenueColumn" class="multisites-column">
{{ website.revenue }}
</td>
<td ng-if="period != 'range'" style="width:170px;">
<div class="visits" ng-if="!website.isGroup">
<span ng-show="parseInt(website[evolutionMetric]) > 0"><img src="plugins/MultiSites/images/arrow_up.png" alt="" /> <span style="color: green;">{{ website[evolutionMetric] }}&nbsp;</span></span>
<span ng-show="parseInt(website[evolutionMetric]) == 0"><img src="plugins/MultiSites/images/stop.png" alt="" /> <span>{{ website[evolutionMetric] }}</span></span>
<span ng-show="parseInt(website[evolutionMetric]) < 0"><img src="plugins/MultiSites/images/arrow_down.png" alt="" /> <span style="color: red;">{{ website[evolutionMetric] }}&nbsp;</span></span>
</div>
</td>
<td ng-if="showSparklines" style="width:180px;">
<div ng-if="!website.isGroup" class="sparkline" style="width: 100px; margin: auto;">
<a target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}"
title="{{ 'General_GoTo'|translate:('Dashboard_DashboardOf'|translate:website.label) }}">
<img alt="" ng-src="{{ sparklineImage(website) }}" width="100" height="25" />
</a>
</div>
</td>
</tr>