add icons for Character groups
This commit is contained in:
commit
2d9a41a5fe
3461 changed files with 594457 additions and 0 deletions
|
|
@ -0,0 +1,80 @@
|
|||
<h2 id="{{ reportId }}" style="color: rgb({{ reportTitleTextColor }}); font-size: {{ reportTitleTextSize }}pt;">
|
||||
{{ reportName }}
|
||||
</h2>
|
||||
|
||||
{% if reportRows is empty %}
|
||||
{{ 'CoreHome_ThereIsNoDataForThisReport'|translate }}
|
||||
{% else %}
|
||||
{% if displayGraph %}
|
||||
<img alt=""
|
||||
{% if renderImageInline %}
|
||||
src="data:image/png;base64,{{ generatedImageGraph }}"
|
||||
{% else %}
|
||||
src="cid:{{ reportId }}"
|
||||
{% endif %}
|
||||
height="{{ graphHeight }}"
|
||||
width="{{ graphWidth }}"/>
|
||||
{% endif %}
|
||||
|
||||
{% if displayGraph and displayTable %}
|
||||
<br/>
|
||||
<br/>
|
||||
{% endif %}
|
||||
|
||||
{% if displayTable %}
|
||||
<table style="border-collapse:collapse; margin-left: 5px;">
|
||||
<thead style="background-color: rgb({{ tableHeaderBgColor }}); color: rgb({{ tableHeaderTextColor }}); font-size: {{ reportTableHeaderTextSize }}pt;">
|
||||
{% for columnName in reportColumns %}
|
||||
<th style="padding: 6px 0;">
|
||||
{{ columnName }}
|
||||
</th>
|
||||
{% endfor %}
|
||||
</thead>
|
||||
<tbody>
|
||||
{% set cycleValues=['','background-color: rgb('~tableBgColor~')'] %}
|
||||
{% set cycleIndex=0 %}
|
||||
{% for rowId,row in reportRows %}
|
||||
{% set rowMetrics=row.columns %}
|
||||
|
||||
{% if reportRowsMetadata[rowId] is defined %}
|
||||
{% set rowMetadata=reportRowsMetadata[rowId].columns %}
|
||||
{% else %}
|
||||
{% set rowMetadata=null %}
|
||||
{% endif %}
|
||||
<tr style="{{ cycle(cycleValues, cycleIndex) }}">
|
||||
{% set cycleIndex=cycleIndex+1 %}
|
||||
{% for columnId, columnName in reportColumns %}
|
||||
<td style="font-size: {{ reportTableRowTextSize }}pt; border-bottom: 1px solid rgb({{ tableCellBorderColor }}); padding: 5px 0 5px 5px;">
|
||||
{% if columnId == 'label' %}
|
||||
{% if rowMetrics[columnId] is defined %}
|
||||
{% if rowMetadata.logo is defined %}
|
||||
<img src='{{ currentPath }}{{ rowMetadata.logo }}'>
|
||||
|
||||
{% endif %}
|
||||
{% if rowMetadata.url is defined %}
|
||||
<a style="color: rgb({{ reportTextColor }});" href='{% if rowMetadata.url|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ rowMetadata.url }}'>
|
||||
{% endif %}
|
||||
{{ rowMetrics[columnId] | raw }}{# labels are escaped by SafeDecodeLabel filter in core/API/Response.php #}
|
||||
{% if rowMetadata.url is defined %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if rowMetrics[columnId] is empty %}
|
||||
0
|
||||
{% else %}
|
||||
{{ rowMetrics[columnId] }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<br/>
|
||||
<a style="text-decoration:none; color: rgb({{ reportTitleTextColor }}); font-size: {{ reportBackToTopTextSize }}pt;" href="#reportTop">
|
||||
{{ 'ScheduledReports_TopOfReport'|translate }}
|
||||
</a>
|
||||
{% endif %}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body style="color: rgb({{ reportTextColor }});">
|
||||
|
||||
<a id="reportTop" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a>
|
||||
|
||||
<h1 style="color: rgb({{ reportTitleTextColor }}); font-size: {{ reportTitleTextSize }}pt;">
|
||||
{{ reportTitle }}
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
{{ description }} - {{ 'General_DateRange'|translate }} {{ prettyDate }}
|
||||
</p>
|
||||
|
||||
{% if displaySegment %}
|
||||
<p style="color: rgb({{ reportTitleTextColor }});">
|
||||
{{ 'ScheduledReports_CustomVisitorSegment'|translate("Piwik") }} {{ segmentName }}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if reportMetadata|length > 1 %}
|
||||
<h2 style="color: rgb({{ reportTitleTextColor }}); font-size: {{ reportTitleTextSize }}pt;">
|
||||
{{ 'ScheduledReports_TableOfContent'|translate }}
|
||||
</h2>
|
||||
<ul>
|
||||
{% for metadata in reportMetadata %}
|
||||
<li>
|
||||
<a href="#{{ metadata.uniqueId }}" style="text-decoration:none; color: rgb({{ reportTextColor }});">
|
||||
{{ metadata.name }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<div class="reportsByDimensionView">
|
||||
|
||||
<div class="entityList">
|
||||
{% for category, dimensions in dimensionCategories %}
|
||||
{% set firstCategory = (loop.index0 == 0) %}
|
||||
<div class='dimensionCategory'>
|
||||
{{ category|translate }}
|
||||
<ul class='listCircle'>
|
||||
{% for idx, dimension in dimensions %}
|
||||
<li class="reportDimension {% if idx == 0 and firstCategory %}activeDimension{% endif %}"
|
||||
data-url="{{ dimension.url }}">
|
||||
<span class='dimension'>{{ dimension.title|translate }}</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div style="float:left;max-width:900px;">
|
||||
<div class="loadingPiwik" style="display:none;">
|
||||
<img src="plugins/Zeitgeist/images/loading-blue.gif" alt=""/>{{ 'General_LoadingData'|translate }}
|
||||
</div>
|
||||
|
||||
<div class="dimensionReport">{{ firstReport|raw }}</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
</div>
|
||||
40
www/analytics/plugins/CoreHome/templates/_dataTable.twig
Normal file
40
www/analytics/plugins/CoreHome/templates/_dataTable.twig
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{% if properties.show_visualization_only %}
|
||||
{% include visualizationTemplate %}
|
||||
{%- else -%}
|
||||
|
||||
{% set summaryRowId = constant('Piwik\\DataTable::ID_SUMMARY_ROW') %}{# ID_SUMMARY_ROW #}
|
||||
{% set isSubtable = javascriptVariablesToSet.idSubtable is defined and javascriptVariablesToSet.idSubtable != 0 %}
|
||||
<div class="dataTable {{ visualizationCssClass }} {{ properties.datatable_css_class|default('') }} {% if isSubtable %}subDataTable{% endif %}"
|
||||
data-table-type="{{ properties.datatable_js_type }}"
|
||||
data-report="{{ properties.report_id }}"
|
||||
data-props="{% if clientSideProperties is empty %}{}{% else %}{{ clientSideProperties|json_encode }}{% endif %}"
|
||||
data-params="{% if clientSideParameters is empty %}{}{% else %}{{ clientSideParameters|json_encode }}{% endif %}">
|
||||
<div class="reportDocumentation">
|
||||
{% if properties.documentation|default is not empty %}<p>{{ properties.documentation|raw }}</p>{% endif %}
|
||||
{% if reportLastUpdatedMessage is defined %}<span class='helpDate'>{{ reportLastUpdatedMessage }}</span>{% endif %}
|
||||
</div>
|
||||
<div class="dataTableWrapper">
|
||||
{% if error is defined %}
|
||||
{{ error.message }}
|
||||
{% else %}
|
||||
{% if dataTable is empty or dataTableHasNoData|default(false) %}
|
||||
<div class="pk-emptyDataTable">
|
||||
{% if showReportDataWasPurgedMessage is defined and showReportDataWasPurgedMessage %}
|
||||
{{ 'CoreHome_DataForThisReportHasBeenPurged'|translate(deleteReportsOlderThan) }}
|
||||
{% else %}
|
||||
{{ 'CoreHome_ThereIsNoDataForThisReport'|translate }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% include visualizationTemplate %}
|
||||
{% endif %}
|
||||
|
||||
{% if properties.show_footer %}
|
||||
{% include "@CoreHome/_dataTableFooter.twig" %}
|
||||
{% endif %}
|
||||
{% include "@CoreHome/_dataTableJS.twig" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{%- endif %}
|
||||
49
www/analytics/plugins/CoreHome/templates/_dataTableCell.twig
Normal file
49
www/analytics/plugins/CoreHome/templates/_dataTableCell.twig
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{% spaceless %}
|
||||
{% set tooltipIndex = column ~ '_tooltip' %}
|
||||
{% if row.getMetadata(tooltipIndex) %}<span class="cell-tooltip" data-tooltip="{{ row.getMetadata(tooltipIndex) }}">{% endif %}
|
||||
{% if not row.getIdSubDataTable() and column=='label' and row.getMetadata('url') %}
|
||||
<a target="_blank" href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|raw }}'>
|
||||
{% if not row.getMetadata('logo') %}
|
||||
<img class="link" width="10" height="9" src="plugins/Zeitgeist/images/link.gif"/>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if column=='label' %}
|
||||
{% import 'macros.twig' as piwik %}
|
||||
|
||||
<span class='label{% if row.getMetadata('is_aggregate') %} highlighted{% endif %}'
|
||||
{% if properties is defined and properties.tooltip_metadata_name is not empty %}title="{{ row.getMetadata(properties.tooltip_metadata_name) }}"{% endif %}>
|
||||
{{ piwik.logoHtml(row.getMetadata(), row.getColumn('label')) }}
|
||||
{% if row.getMetadata('html_label_prefix') %}<span class='label-prefix'>{{ row.getMetadata('html_label_prefix') | raw }} </span>{% endif -%}
|
||||
{%- if row.getMetadata('html_label_suffix') %}<span class='label-suffix'>{{ row.getMetadata('html_label_suffix') | raw }}</span>{% endif -%}
|
||||
{% endif %}<span class="value">{% if row.getColumn(column) %}{{- row.getColumn(column)|raw -}}{% else %}-{% endif %}</span>
|
||||
{% if column=='label' %}</span>{% endif %}
|
||||
{% if not row.getIdSubDataTable() and column=='label' and row.getMetadata('url') %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if row.getMetadata(tooltipIndex) %}</span>{% endif %}
|
||||
|
||||
{% set totals = dataTable.getMetadata('totals') %}
|
||||
{% if column in totals|keys -%}
|
||||
{% set labelColumn = columns_to_display|first %}
|
||||
{% set reportTotal = totals[column] %}
|
||||
{% if siteSummary is defined and siteSummary is not empty and siteSummary.getFirstRow %}
|
||||
{% set siteTotal = siteSummary.getFirstRow.getColumn(column) %}
|
||||
{% else %}
|
||||
{% set siteTotal = 0 %}
|
||||
{% endif %}
|
||||
{% set rowPercentage = row.getColumn(column)|percentage(reportTotal, 1) %}
|
||||
{% set metricTitle = translations[column]|default(column) %}
|
||||
{% set reportLabel = row.getColumn(labelColumn)|truncate(40)|raw %}
|
||||
|
||||
{% set reportRatioTooltip = 'General_ReportRatioTooltip'|translate(reportLabel, rowPercentage|e('html_attr'), reportTotal|e('html_attr'), metricTitle|e('html_attr'), translations[labelColumn]|default(labelColumn)|e('html_attr')) %}
|
||||
|
||||
{% if siteTotal and siteTotal > reportTotal %}
|
||||
{% set totalPercentage = row.getColumn(column)|percentage(siteTotal, 1) %}
|
||||
{% set totalRatioTooltip = 'General_TotalRatioTooltip'|translate(totalPercentage, siteTotal, metricTitle) %}
|
||||
{% else %}
|
||||
{% set totalRatioTooltip = '' %}
|
||||
{% endif %}
|
||||
|
||||
<span class="ratio" title="{{ reportRatioTooltip|raw }} {{ totalRatioTooltip|e('html_attr') }}"> {{ rowPercentage }}</span>
|
||||
{%- endif %}
|
||||
{% endspaceless %}
|
||||
140
www/analytics/plugins/CoreHome/templates/_dataTableFooter.twig
Normal file
140
www/analytics/plugins/CoreHome/templates/_dataTableFooter.twig
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
<div class="dataTableFeatures">
|
||||
|
||||
<div class="dataTableFooterNavigation">
|
||||
{% if properties.show_offset_information %}
|
||||
<span>
|
||||
<span class="dataTablePages"></span>
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
{% if properties.show_pagination_control %}
|
||||
<span>
|
||||
<span class="dataTablePrevious">‹ {% if clientSideParameters.dataTablePreviousIsFirst is defined %}{{ 'General_First'|translate }}{% else %}{{ 'General_Previous'|translate }}{% endif %} </span>
|
||||
<span class="dataTableNext">{{ 'General_Next'|translate }} ›</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
{% if properties.show_search %}
|
||||
<span class="dataTableSearchPattern">
|
||||
<input type="text" class="searchInput" length="15" />
|
||||
<input type="submit" value="{{ 'General_Search'|translate }}" />
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<span class="loadingPiwik" style="display:none;"><img src="plugins/Zeitgeist/images/loading-blue.gif"/> {{ 'General_LoadingData'|translate }}</span>
|
||||
|
||||
{% if properties.show_footer_icons %}
|
||||
<div class="dataTableFooterIcons">
|
||||
<div class="dataTableFooterWrap">
|
||||
{% for footerIconGroup in footerIcons %}
|
||||
<div class="tableIconsGroup">
|
||||
<span class="{{ footerIconGroup.class }}">
|
||||
{% for footerIcon in footerIconGroup.buttons %}
|
||||
<span>
|
||||
{% if properties.show_active_view_icon and clientSideParameters.viewDataTable == footerIcon.id %}
|
||||
<img src="plugins/Zeitgeist/images/data_table_footer_active_item.png" class="dataTableFooterActiveItem"/>
|
||||
{% endif %}
|
||||
<a class="tableIcon {% if clientSideParameters.viewDataTable == footerIcon.id %}activeIcon{% endif %}" data-footer-icon-id="{{ footerIcon.id }}">
|
||||
<img width="16" height="16" title="{{ footerIcon.title }}" src="{{ footerIcon.icon }}"/>
|
||||
{% if footerIcon.text is defined %}<span>{{ footerIcon.text }}</span>{% endif %}
|
||||
</a>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="tableIconsGroup">
|
||||
{% if footerIcons is empty %}
|
||||
<img src="plugins/Zeitgeist/images/data_table_footer_active_item.png" class="dataTableFooterActiveItem"/>
|
||||
{% endif %}
|
||||
<span class="exportToFormatIcons">
|
||||
<a class="tableIcon" var="export">
|
||||
<img width="16" height="16" src="plugins/Zeitgeist/images/export.png" title="{{ 'General_ExportThisReport'|translate }}"/>
|
||||
</a>
|
||||
</span>
|
||||
<span class="exportToFormatItems" style="display:none;">
|
||||
{{ 'General_Export'|translate }}:
|
||||
<a target="_blank" methodToCall="{{ properties.apiMethodToRequestDataTable }}" format="CSV" filter_limit="{{ properties.export_limit }}">CSV</a> |
|
||||
<a target="_blank" methodToCall="{{ properties.apiMethodToRequestDataTable }}" format="TSV" filter_limit="{{ properties.export_limit }}">TSV (Excel)</a> |
|
||||
<a target="_blank" methodToCall="{{ properties.apiMethodToRequestDataTable }}" format="XML" filter_limit="{{ properties.export_limit }}">XML</a> |
|
||||
<a target="_blank" methodToCall="{{ properties.apiMethodToRequestDataTable }}" format="JSON" filter_limit="{{ properties.export_limit }}">Json</a> |
|
||||
<a target="_blank" methodToCall="{{ properties.apiMethodToRequestDataTable }}" format="PHP" filter_limit="{{ properties.export_limit }}">Php</a>
|
||||
{% if properties.show_export_as_rss_feed %}
|
||||
|
|
||||
<a target="_blank" methodToCall="{{ properties.apiMethodToRequestDataTable }}" format="RSS" filter_limit="{{ properties.export_limit }}" date="last10">
|
||||
<img border="0" src="plugins/Zeitgeist/images/feed.png"/>
|
||||
</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% if properties.show_export_as_image_icon %}
|
||||
<span id="dataTableFooterExportAsImageIcon">
|
||||
<a class="tableIcon" href="#" onclick="$(this).closest('.dataTable').find('div.jqplot-target').trigger('piwikExportAsImage'); return false;">
|
||||
<img title="{{ 'General_ExportAsImage'|translate }}" src="plugins/Zeitgeist/images/image.png"/>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="limitSelection {% if not properties.show_pagination_control and not properties.show_limit_control %} hidden{% endif %}"
|
||||
title="{{ 'General_RowsToDisplay'|translate }}"></div>
|
||||
<div class="tableConfiguration">
|
||||
<a class="tableConfigurationIcon" href="#"></a>
|
||||
<ul>
|
||||
{% if properties.show_flatten_table %}
|
||||
{% if clientSideParameters.flat is defined and clientSideParameters.flat == 1 %}
|
||||
<li>
|
||||
<div class="configItem dataTableIncludeAggregateRows"></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<div class="configItem dataTableFlatten"></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if properties.show_exclude_low_population %}
|
||||
<li>
|
||||
<div class="configItem dataTableExcludeLowPopulation"></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% if isPluginLoaded('Annotations') and not properties.hide_annotations_view %}
|
||||
<div class="annotationView" title="{{ 'Annotations_IconDesc'|translate }}">
|
||||
<a class="tableIcon">
|
||||
<img width="16" height="16" src="plugins/Zeitgeist/images/annotations.png"/>
|
||||
</a>
|
||||
<span>{{ 'Annotations_Annotations'|translate }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="foldDataTableFooterDrawer" title="{{ 'General_Close'|translate|e('html_attr') }}"
|
||||
><img width="7" height="4" src="plugins/Morpheus/images/sortasc_dark.png"></div>
|
||||
|
||||
</div>
|
||||
<div class="expandDataTableFooterDrawer" title="{{ 'General_ExpandDataTableFooter'|translate|e('html_attr') }}"
|
||||
><img width="7" height="4" src="plugins/Morpheus/images/sortdesc_dark.png" style=""></div>
|
||||
{% endif %}
|
||||
|
||||
<div class="datatableRelatedReports">
|
||||
{% if (properties.related_reports is not empty) and properties.show_related_reports %}
|
||||
{{ properties.related_reports_title|raw }}
|
||||
<ul style="list-style:none;{% if properties.related_reports|length == 1 %}display:inline-block;{% endif %}}">
|
||||
<li><span href="{{ properties.self_url }}" style="display:none;">{{ properties.title }}</span></li>
|
||||
|
||||
{% for reportUrl,reportTitle in properties.related_reports %}
|
||||
<li><span href="{{ reportUrl }}">{{ reportTitle }}</span></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if properties.show_footer_message is defined and properties.show_footer_message is not empty %}
|
||||
<div class='datatableFooterMessage'>{{ properties.show_footer_message | raw }}</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
<span class="loadingPiwikBelow" style="display:none;"><img src="plugins/Zeitgeist/images/loading-blue.gif"/> {{ 'General_LoadingData'|translate }}</span>
|
||||
|
||||
<div class="dataTableSpacer"></div>
|
||||
17
www/analytics/plugins/CoreHome/templates/_dataTableHead.twig
Normal file
17
www/analytics/plugins/CoreHome/templates/_dataTableHead.twig
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<thead>
|
||||
<tr>
|
||||
{% for column in properties.columns_to_display %}
|
||||
<th class="{% if properties.enable_sort %}sortable{% endif %} {% if loop.first %}first{% elseif loop.last %}last{% endif %}" id="{{ column }}">
|
||||
{% if properties.metrics_documentation[column]|default is not empty %}
|
||||
<div class="columnDocumentation">
|
||||
<div class="columnDocumentationTitle">
|
||||
{{ properties.translations[column]|default(column)|raw }}
|
||||
</div>
|
||||
{{ properties.metrics_documentation[column]|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id="thDIV">{{ properties.translations[column]|default(column)|raw }}</div>
|
||||
</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<script type="text/javascript" defer="defer">
|
||||
$(document).ready(function () {
|
||||
require('piwik/UI/DataTable').initNewDataTables();
|
||||
});
|
||||
</script>
|
||||
63
www/analytics/plugins/CoreHome/templates/_donate.twig
Executable file
63
www/analytics/plugins/CoreHome/templates/_donate.twig
Executable file
|
|
@ -0,0 +1,63 @@
|
|||
<div class="piwik-donate-call">
|
||||
<div class="piwik-donate-message">
|
||||
{% if msg is defined %}
|
||||
{{ msg }}
|
||||
{% else %}
|
||||
<p>{{ 'CoreHome_DonateCall1'|translate }}</p>
|
||||
<p><strong><em>{{ 'CoreHome_DonateCall2'|translate }}</em></strong></p>
|
||||
<p>{{ 'CoreHome_DonateCall3'|translate('<em><strong>','</strong></em>')|raw }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<span id="piwik-worth">{{ 'CoreHome_HowMuchIsPiwikWorth'|translate }}</span>
|
||||
|
||||
<div class="donate-form-instructions">({{ 'CoreHome_DonateFormInstructions'|translate }})</div>
|
||||
|
||||
<form action="index.php?module=CoreHome&action=redirectToPaypal&idSite=1" method="post" target="_blank">
|
||||
<input type="hidden" name="cmd" value="_s-xclick"/>
|
||||
<input type="hidden" name="hosted_button_id" value="DVKLY73RS7JTE"/>
|
||||
<input type="hidden" name="currency_code" value="USD"/>
|
||||
<input type="hidden" name="on0" value="Piwik Supporter"/>
|
||||
|
||||
<div class="piwik-donate-slider">
|
||||
<div class="slider-range">
|
||||
<div class="slider-position"></div>
|
||||
</div>
|
||||
<div style="display:inline-block;">
|
||||
<div class="slider-donate-amount">$30/{{ 'General_YearShort'|translate }}</div>
|
||||
|
||||
<img class="slider-smiley-face" width="40" height="40" src="plugins/Zeitgeist/images/smileyprog_1.png"/>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="os0" value="Option 1"/>
|
||||
</div>
|
||||
|
||||
<div class="donate-submit">
|
||||
<input type="image" src="plugins/Zeitgeist/images/paypal_subscribe.gif" border="0" name="submit"
|
||||
title="{{ 'CoreHome_SubscribeAndBecomePiwikSupporter'|translate }}"/>
|
||||
<a class="donate-spacer">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
|
||||
<a href="index.php?module=CoreHome&action=redirectToPaypal&idSite=1&cmd=_s-xclick&hosted_button_id=RPL23NJURMTFA&bb2_screener_=1357583494+83.233.186.82"
|
||||
target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
|
||||
</div>
|
||||
|
||||
<!-- to cache images -->
|
||||
<img style="display:none;" src="plugins/Zeitgeist/images/smileyprog_0.png"/>
|
||||
<img style="display:none;" src="plugins/Zeitgeist/images/smileyprog_1.png"/>
|
||||
<img style="display:none;" src="plugins/Zeitgeist/images/smileyprog_2.png"/>
|
||||
<img style="display:none;" src="plugins/Zeitgeist/images/smileyprog_3.png"/>
|
||||
<img style="display:none;" src="plugins/Zeitgeist/images/smileyprog_4.png"/>
|
||||
</form>
|
||||
{% if footerMessage is defined %}
|
||||
<div class="form-description">
|
||||
{{ footerMessage }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
// Note: this will cause problems if more than one donate form is on the page
|
||||
$('.piwik-donate-slider').each(function () {
|
||||
$(this).trigger('piwik:changePosition', {position: 1});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
47
www/analytics/plugins/CoreHome/templates/_headerMessage.twig
Normal file
47
www/analytics/plugins/CoreHome/templates/_headerMessage.twig
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{# testing, remove test_ from var names #}
|
||||
{% set test_latest_version_available="3.0" %}
|
||||
{% set test_piwikUrl='http://demo.piwik.org/' %}
|
||||
{% set isPiwikDemo %}{{ piwikUrl == 'http://demo.piwik.org/' or piwikUrl == 'https://demo.piwik.org/'}}{% endset %}
|
||||
|
||||
{% set updateCheck %}
|
||||
<div id="updateCheckLinkContainer">
|
||||
<span class='loadingPiwik' style="display:none;"><img src='plugins/Zeitgeist/images/loading-blue.gif'/></span>
|
||||
<img class="icon" src="plugins/Zeitgeist/images/reload.png"/>
|
||||
<a href="#" id="checkForUpdates"><em>{{ 'CoreHome_CheckForUpdates'|translate }}</em></a>
|
||||
</div>
|
||||
{% endset %}
|
||||
|
||||
{% if isPiwikDemo or (latest_version_available and hasSomeViewAccess and not isUserIsAnonymous) or (isSuperUser and adminMenu is defined and adminMenu) %}
|
||||
<span id="header_message" class="{% if isPiwikDemo or not latest_version_available %}header_info{% else %}header_alert{% endif %}">
|
||||
<span class="header_short">
|
||||
{% if isPiwikDemo %}
|
||||
{{ 'General_YouAreViewingDemoShortMessage'|translate }}
|
||||
{% elseif latest_version_available %}
|
||||
{{ 'General_NewUpdatePiwikX'|translate(latest_version_available) }}
|
||||
{% elseif isSuperUser and adminMenu is defined and adminMenu %}
|
||||
{{ updateCheck|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
<span class="header_full">
|
||||
{% if isPiwikDemo %}
|
||||
{{ 'General_YouAreViewingDemoShortMessage'|translate }}
|
||||
<br />
|
||||
{{ 'General_DownloadFullVersion'|translate("<a href='http://piwik.org/'>","</a>","<a href='http://piwik.org'>piwik.org</a>")|raw }}
|
||||
<br/>
|
||||
{% endif %}
|
||||
{% if latest_version_available and isSuperUser %}
|
||||
{{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>","</a>","<a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>","</a>")|raw }}
|
||||
<br/>
|
||||
{{ 'General_YouAreCurrentlyUsing'|translate(piwik_version) }}
|
||||
{% elseif latest_version_available and not isPiwikDemo and hasSomeViewAccess and not isUserIsAnonymous %}
|
||||
{% set updateSubject = 'General_NewUpdatePiwikX'|translate(latest_version_available)|e('url') %}
|
||||
{{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }}
|
||||
{% elseif isSuperUser and adminMenu is defined and adminMenu %}
|
||||
{{ updateCheck|raw }}
|
||||
<br />
|
||||
{{ 'General_YouAreCurrentlyUsing'|translate(piwik_version) }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
20
www/analytics/plugins/CoreHome/templates/_indexContent.twig
Normal file
20
www/analytics/plugins/CoreHome/templates/_indexContent.twig
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{% import 'ajaxMacros.twig' as ajax %}
|
||||
<div class="pageWrap">
|
||||
{% include "@CoreHome/_notifications.twig" %}
|
||||
<div class="top_controls">
|
||||
{% include "@CoreHome/_periodSelect.twig" %}
|
||||
{{ postEvent("Template.nextToCalendar") }}
|
||||
{% render dashboardSettingsControl %}
|
||||
{% include "@CoreHome/_headerMessage.twig" %}
|
||||
{{ ajax.requestErrorDiv }}
|
||||
</div>
|
||||
|
||||
{{ ajax.loadingDiv() }}
|
||||
|
||||
<div id="content" class="home">
|
||||
{% if content %}{{ content }}{% endif %}
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
||||
<br/><br/>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<noscript>
|
||||
<div id="javascriptDisabled">{{ 'CoreHome_JavascriptDisabled'|translate('<a href="">','</a>')|raw }}</div>
|
||||
</noscript>
|
||||
10
www/analytics/plugins/CoreHome/templates/_logo.twig
Normal file
10
www/analytics/plugins/CoreHome/templates/_logo.twig
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<span id="logo">
|
||||
<a href="index.php" title="{% if isCustomLogo %}{{ 'General_PoweredBy'|translate }} {% endif %}Piwik # {{ 'General_OpenSourceWebAnalytics'|translate }}">
|
||||
{% if hasSVGLogo %}
|
||||
<img src='{{ logoSVG }}' alt="{% if isCustomLogo %}{{ 'General_PoweredBy'|translate }} {% endif %}Piwik" class="ie-hide {% if not isCustomLogo %}default-piwik-logo{% endif %}" />
|
||||
<!--[if lt IE 9]>
|
||||
{% endif %}
|
||||
<img src='{{ logoHeader }}' alt="{% if isCustomLogo %}{{ 'General_PoweredBy'|translate }} {% endif %}Piwik" />
|
||||
{% if hasSVGLogo %}<![endif]-->{% endif %}
|
||||
</a>
|
||||
</span>
|
||||
23
www/analytics/plugins/CoreHome/templates/_menu.twig
Normal file
23
www/analytics/plugins/CoreHome/templates/_menu.twig
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<div class="Menu--dashboard">
|
||||
<ul class="Menu-tabList">
|
||||
{% for level1,level2 in menu %}
|
||||
<li id="{{ level2._url|urlRewriteWithParameters }}">
|
||||
<a href="#{{ level2._url|urlRewriteWithParameters|slice(1) }}"
|
||||
onclick="return piwikMenu.onItemClick(this);">{{ level1|translate }}</a>
|
||||
<ul>
|
||||
{% for name,urlParameters in level2 %}
|
||||
{% if name|slice(0,1) != '_' %}
|
||||
<li>
|
||||
<a href='#{{ urlParameters._url|urlRewriteWithParameters|slice(1) }}'
|
||||
onclick='return piwikMenu.onItemClick(this);'>
|
||||
{{ name|translate }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="nav_sep"></div>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<div id="notificationContainer">
|
||||
{% if notifications|length %}
|
||||
{% for notificationId, n in notifications %}
|
||||
|
||||
{{ n.message|notification({'id': notificationId, 'type': n.type, 'title': n.title, 'noclear': n.hasNoClear, 'context': n.context, 'raw': n.raw}, false) }}
|
||||
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
37
www/analytics/plugins/CoreHome/templates/_periodSelect.twig
Normal file
37
www/analytics/plugins/CoreHome/templates/_periodSelect.twig
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<div id="periodString" class="piwikTopControl periodSelector">
|
||||
<div id="date">{{ 'General_DateRange'|translate }} <strong>{{ prettyDate }}</strong></div>
|
||||
<div class="calendar-icon"></div>
|
||||
<div id="periodMore">
|
||||
<div class="period-date">
|
||||
<h6>{{ 'General_Date'|translate }}</h6>
|
||||
|
||||
<div id="datepicker"></div>
|
||||
</div>
|
||||
<div class="period-range" style="display:none;">
|
||||
<div id="calendarRangeFrom">
|
||||
<h6>{{ 'General_DateRangeFrom'|translate }}<input tabindex="1" type="text" id="inputCalendarFrom" name="inputCalendarFrom"/></h6>
|
||||
|
||||
<div id="calendarFrom"></div>
|
||||
</div>
|
||||
<div id="calendarRangeTo">
|
||||
<h6>{{ 'General_DateRangeTo'|translate }}<input tabindex="2" type="text" id="inputCalendarTo" name="inputCalendarTo"/></h6>
|
||||
|
||||
<div id="calendarTo"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="period-type">
|
||||
<h6>{{ 'General_Period'|translate }}</h6>
|
||||
<span id="otherPeriods">
|
||||
{% for label,thisPeriod in periodsNames %}
|
||||
<input type="radio" name="period" id="period_id_{{ label }}" value="{{ linkTo( { 'period': label} ) }}"{% if label==period %} checked="checked"{% endif %} />
|
||||
<label for="period_id_{{ label }}">{{ thisPeriod.singular }}</label>
|
||||
<br/>
|
||||
{% endfor %}
|
||||
</span>
|
||||
<input tabindex="3" type="submit" value="{{ 'General_ApplyDateRange'|translate }}" id="calendarRangeApply"/>
|
||||
{% import 'ajaxMacros.twig' as ajax %}
|
||||
{{ ajax.loadingDiv('ajaxLoadingCalendar') }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="period-click-tooltip" style="display:none;">{{ 'General_ClickToChangePeriod'|translate }}</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<h2 piwik-enriched-headline>{{ title }}</h2>
|
||||
{{ report|raw }}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<div class="top_bar_sites_selector {% if currentModule == 'CoreHome' %}sites_selector_in_dashboard{% endif %}">
|
||||
<label>{{ 'General_Website'|translate }}</label>
|
||||
<div piwik-siteselector class="sites_autocomplete"></div>
|
||||
|
||||
</div>
|
||||
5
www/analytics/plugins/CoreHome/templates/_topBar.twig
Normal file
5
www/analytics/plugins/CoreHome/templates/_topBar.twig
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{{ postEvent("Template.beforeTopBar", userAlias, userLogin, topMenu) }}
|
||||
<div id="topBars">
|
||||
{% include "@CoreHome/_topBarHelloMenu.twig" %}
|
||||
{% include "@CoreHome/_topBarTopMenu.twig" %}
|
||||
</div>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<div id="topRightBar">
|
||||
{% set helloAlias %}
|
||||
{% if userAlias is not empty %}
|
||||
<strong>{{ userAlias }}</strong>
|
||||
{% else %}
|
||||
<strong>{{ userLogin }}</strong>
|
||||
{% endif %}
|
||||
{% endset %}
|
||||
<span class="topBarElem">{{ 'General_HelloUser'|translate(helloAlias|trim)|raw }}</span>
|
||||
{% if userLogin != 'anonymous' %}
|
||||
|
|
||||
{% if isAdminLayout is defined %}
|
||||
<span class="topBarElem topBarElemActive">{{ 'General_Settings'|translate }}</span>
|
||||
{% else %}
|
||||
<span class="topBarElem"><a href='index.php?module=CoreAdminHome'>{{ 'General_Settings'|translate }}</a></span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
| <span class="topBarElem">
|
||||
{% if userLogin == 'anonymous' %}
|
||||
<a href='index.php?module={{ loginModule }}'>{{ 'Login_LogIn'|translate }}</a>
|
||||
{% else %}
|
||||
<a href='index.php?module={{ loginModule }}&action=logout'>{{ 'General_Logout'|translate }}</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
13
www/analytics/plugins/CoreHome/templates/_topBarTopMenu.twig
Normal file
13
www/analytics/plugins/CoreHome/templates/_topBarTopMenu.twig
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<div id="topLeftBar">
|
||||
{% for label,menu in topMenu %}
|
||||
{% if menu._html is defined %}
|
||||
{{ menu._html|raw }}
|
||||
{% elseif (menu._url.module == currentModule and (menu._url.action is empty or menu._url.action == currentAction)) %}
|
||||
<span class="topBarElem topBarElemActive"><strong>{{ label|translate }}</strong></span>{% if not loop.last %} |{% endif %}
|
||||
{% else %}
|
||||
<span class="topBarElem" {% if menu._tooltip is defined %}title="{{ menu._tooltip }}"{% endif %}>
|
||||
<a id="topmenu-{{ menu._url.module|lower }}" href="index.php{{ menu._url|urlRewriteWithParameters }}">{{ label|translate }}</a>
|
||||
</span>{% if not loop.last %} | {% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
4
www/analytics/plugins/CoreHome/templates/_topScreen.twig
Normal file
4
www/analytics/plugins/CoreHome/templates/_topScreen.twig
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<div id="header">
|
||||
{% include "@CoreHome/_logo.twig" %}
|
||||
{% include "@CoreHome/_topBar.twig" %}
|
||||
</div>
|
||||
6
www/analytics/plugins/CoreHome/templates/_uiControl.twig
Normal file
6
www/analytics/plugins/CoreHome/templates/_uiControl.twig
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<div class="{{ cssIdentifier }} {{ cssClass }}"
|
||||
data-props="{{ clientSideProperties|json_encode }}"
|
||||
data-params="{{ clientSideParameters|json_encode }}">
|
||||
{% render implView with implOverride %}
|
||||
</div>
|
||||
<script>$(document).ready(function () { require('{{ jsNamespace }}').{{ jsClass }}.initElements(); });</script>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{# untrusted host warning #}
|
||||
{% if (isValidHost is defined and invalidHostMessage is defined and isValidHost == false) %}
|
||||
{% set invalidHostText %}
|
||||
<a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank"><img src="plugins/Zeitgeist/images/help.png"/></a>
|
||||
<strong>{{ 'General_Warning'|translate }}: </strong>{{ invalidHostMessage|raw }}
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<small>{{ invalidHostMessageHowToFix|raw }}
|
||||
<br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank">{{ 'General_Help'|translate }}
|
||||
<img style="vertical-align: bottom;" src="plugins/Zeitgeist/images/help.png"/></a><br/>
|
||||
</small>
|
||||
{% endset %}
|
||||
|
||||
<div style="clear:both;width:800px;">
|
||||
{{ invalidHostText|notification({'noclear': true, 'raw': true, 'context': 'warning'}) }}
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
{% include "@CoreHome/_headerMessage.twig" %}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{% extends "dashboard.twig" %}
|
||||
{% block notification %}{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
{% include "@CoreHome/_siteSelectHeader.twig" %}
|
||||
|
||||
{% if (menu is defined and menu) %}
|
||||
{% include "@CoreHome/_menu.twig" %}
|
||||
{% endif %}
|
||||
|
||||
{% include "@CoreHome/_indexContent.twig" %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
{% include "@CoreHome/_donate.twig" %}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
{% set seriesColorCount = constant("Piwik\\Plugins\\CoreVisualizations\\Visualizations\\JqplotGraph\\Evolution::SERIES_COLOR_COUNT") %}
|
||||
<div class="rowevolution multirowevolution">
|
||||
<div class="popover-title">{{ 'RowEvolution_MultiRowEvolutionTitle'|translate }}</div>
|
||||
<div class="graph">
|
||||
{{ graph | raw }}
|
||||
</div>
|
||||
<div class="metrics-container">
|
||||
<h2>{{ availableRecordsText|translate }}</h2>
|
||||
<table class="metrics" border="0" cellpadding="0" cellspacing="0">
|
||||
{% for i, metric in metrics %}
|
||||
<tr>
|
||||
<td class="sparkline">
|
||||
{{ metric.sparkline|raw }}
|
||||
</td>
|
||||
<td class="text">
|
||||
{% import 'macros.twig' as piwik %}
|
||||
{{ piwik.logoHtml(metric, "") }}
|
||||
<span class="evolution-graph-colors" data-name="series{{ (i % seriesColorCount) + 1 }}">
|
||||
{{- metric.label|raw -}}
|
||||
</span>
|
||||
<span class="details" title="{{ metric.minmax }}">{{ metric.details|raw }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
<a href="#" class="rowevolution-startmulti">» {{ 'RowEvolution_PickAnotherRow'|translate }}</a>
|
||||
</div>
|
||||
{% if availableMetrics|length > 1 %}
|
||||
<div class="metric-selectbox">
|
||||
<h2>{{ 'RowEvolution_AvailableMetrics'|translate }}</h2>
|
||||
<select name="metric" class="multirowevoltion-metric">
|
||||
{% for metric, metricName in availableMetrics %}
|
||||
<option value="{{ metric }}"{% if selectedMetric == metric %} selected="selected"{% endif %}>
|
||||
{{ metricName }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
37
www/analytics/plugins/CoreHome/templates/getPromoVideo.twig
Executable file
37
www/analytics/plugins/CoreHome/templates/getPromoVideo.twig
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
<div id="piwik-promo">
|
||||
<div id="piwik-promo-video">
|
||||
<div id="piwik-promo-thumbnail">
|
||||
<img src="plugins/Zeitgeist/images/video_play.png"/>
|
||||
</div>
|
||||
|
||||
<div id="piwik-promo-embed" style="display:none;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a id="piwik-promo-videos-link" href="http://piwik.org/blog/2012/12/piwik-how-to-videos/" target="_blank">
|
||||
{{ 'CoreHome_ViewAllPiwikVideoTutorials'|translate }}
|
||||
</a>
|
||||
|
||||
<div id="piwik-promo-share">
|
||||
<span>{{ 'CoreHome_ShareThis'|translate }}:</span>
|
||||
|
||||
{# facebook #}
|
||||
<a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" target="_blank">
|
||||
<img src="plugins/Referrers/images/socials/facebook.com.png" />
|
||||
</a>
|
||||
|
||||
{# twitter #}
|
||||
<a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" target="_blank">
|
||||
<img src="plugins/Referrers/images/socials/twitter.com.png" />
|
||||
</a>
|
||||
|
||||
{# email #}
|
||||
<a href="mailto:?body={{ shareTextLong|url_encode(true) }}&subject={{ shareText|url_encode(true) }}" target="_blank">
|
||||
<img src="plugins/Zeitgeist/images/email.png" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
|
||||
<div id="piwik-widget-footer" style="color:#666;">{{ 'CoreHome_CloseWidgetDirections'|translate }}</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
{% set seriesColorCount = constant("Piwik\\Plugins\\CoreVisualizations\\Visualizations\\JqplotGraph\\Evolution::SERIES_COLOR_COUNT") %}
|
||||
<div class="rowevolution">
|
||||
<div class="popover-title">{{ popoverTitle | raw }}</div>
|
||||
<div class="graph">
|
||||
{{ graph|raw }}
|
||||
</div>
|
||||
<div class="metrics-container">
|
||||
<h2>{{ availableMetricsText|raw }}</h2>
|
||||
|
||||
<div class="rowevolution-documentation">
|
||||
{{ 'RowEvolution_Documentation'|translate }}
|
||||
</div>
|
||||
<table class="metrics" border="0" cellpadding="0" cellspacing="0" data-thing="{{ seriesColorCount }}">
|
||||
{% for i, metric in metrics %}
|
||||
<tr data-i="{{ i }}">
|
||||
<td class="sparkline">
|
||||
{{ metric.sparkline|raw }}
|
||||
</td>
|
||||
<td class="text">
|
||||
<span class="evolution-graph-colors" data-name="series{{ (i % seriesColorCount) + 1 }}">
|
||||
{{- metric.label|raw -}}
|
||||
</span>
|
||||
{% if metric.details %}:
|
||||
<span class="details" title="{{ metric.minmax }}">{{ metric.details|raw }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
<div class="compare-container">
|
||||
<h2>{{ 'RowEvolution_CompareRows'|translate }}</h2>
|
||||
|
||||
<div class="rowevolution-documentation">
|
||||
{{ 'RowEvolution_CompareDocumentation'|translate|raw }}
|
||||
</div>
|
||||
<a href="#" class="rowevolution-startmulti">» {{ 'RowEvolution_PickARow'|translate }}</a>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue