Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Allow plugins to define new Visualizations and custom ViewDataTable #4041

Closed
diosmosis opened this Issue · 88 comments

4 participants

Benaka Thomas Steur Anonymous Piwik user Matthieu Aubry
Benaka
Collaborator

This ticket includes any refactoring to be done to ViewDataTable & Piwik_Visualization and will include a new treemap visualization.

The goal is to move all visualizations and Viewdatatable to a new CoreVisualizations plugin.

This ticket is a rather large refactoring and team work among Piwik team members!

Anonymous Piwik user

In b5ed458: Refs #4041, cleaned up ViewDataTable, related classes, and related templates:

  • Remove uniqIdTable, chartDivId and related code as important element IDs are determined in datatable_manager.js now.
  • Clarify _dataTable twig template + related css.
  • Also added visiblity to Piwik_DataTable_Renderer_Php::renderException.
Anonymous Piwik user

In 4f0e655: Refs #4041, allow subtable template to be used if idSubtable is in request so Actions controller doesn't have to call setTemplate. Also did some mild refactoring for Piwik_ViewDataTable_HtmlTable::setRecursiveLoadDataTableIfSearchingForPattern.

Anonymous Piwik user

In a7879ae: Refs #4041, removed Piwik_ViewDataTable_HtmlTable::recursiveDataTableLoad.

Anonymous Piwik user

In 22d7676: Refs #4041, removed extra ViewDataTable classes used by Goals Controller.

Anonymous Piwik user

In c792ca8: Refs #4041, make getVisitorLog.twig more like _dataTable.twig.

Anonymous Piwik user

In 98e6c9b: Refs #4041, fix widgetize datatable width regression.

Anonymous Piwik user

In 0105777: Refs #4040, #4041, move all ViewDataTable properties to the viewProperties array and allow these properties to be specified through new display metadata. Converted the Actions, Goals, UserSettings and VisitTime controllers.

Notes:

  • Includes refactoring of ExcludeLowPopulation filter.
Anonymous Piwik user

In 349f280: Refs #4041, fix bug in displaying DBStats reports by redefining how columns_to_display view property defaults and allow unique visitors to be displayed on reports that have it, outside of period=day.

Anonymous Piwik user

In 0713062: Refs #4041, move Piwik_ViewDataTable_GenerateGraphData logic to new JqplotDataGenerator class that does not derive from ViewDataTable and remove recursive API request used to get graph data.

Anonymous Piwik user

In 93b301d: Refs #4041, modify tag cloud ViewDataTable to use _dataTable.twig w/ Visualization_Cloud as visualization..

Anonymous Piwik user

In 26051fc: Refs #4041, merge _dataTableGraph.twig with _dataTable.twig (moved unmergable parts to new visualization twig file for Visualization_JqplotGraph).

Anonymous Piwik user

In edf2c04: Refs #4040, #4041, added ability to access view properties directly, started documenting view properties and modified ExampleUI plugin to set view properties directly.

Anonymous Piwik user

In 0ea1a94: Refs #4040, #4041 convert RowEvolution popup rendering code to set view properties directly.

Anonymous Piwik user

In 13f657c: Refs #4040, #4041, fix sparklines regression caused by datatable css refactoring and clean up the getLastUnitGraphAcrossPlugins function (modified to set properties directly).

Anonymous Piwik user

In 0f61caa: Refs #4040, #4041 removed rest of viewdatatable set/get/enable/disable property functions, did the same for all other ViewDataTable classes, moved most of ViewDataTable/HtmlTable logic to visualization instead of main class and re-add links for UI integration tests.

Anonymous Piwik user

In 883c322: Refs #4040, #4041, move more logic out of HtmlTable ViewDataTable class.

Anonymous Piwik user

In 1a9898b: Refs #4040, #4041, fix regression in default sort column of goals table.

Anonymous Piwik user

In 7519e67: Refs #4040, #4041, move AllColumns ViewDataTable & Goals ViewDataTable logic to HtmlTable visualization class & remove those classes. Revised the way visualizations default/override view properties. Cleaned up the ViewDataTable class a bit. Added base type for datatable visualizations.

Anonymous Piwik user

In b808489: Refs #4040, #4041, remove is_multi_evolution javascript parameter as it is no longer necessary due to earlier row evolution refactoring.

Anonymous Piwik user

In cc92fac: Refs #4040, #4041, remove GenerateGraphHtml & descended ViewDataTables and replace w/ new visualizations for jqplot.

Anonymous Piwik user

In ac3a25c: Refs #4040, #4041, forgot to remove GenerateGraphHTML file.

Anonymous Piwik user

In cf8d0a5: Refs #4041, #4040, moved viewdatatable cloud logic to cloud visualization. Removed cloud viewdatatable.

Anonymous Piwik user

In 2615404: Refs #4040, #4041, move visualization only view properties to separate visualizations, changed JavaScript properties to 'client side parameters' and 'overridable properties' to 'client side properties', changed keep_summary_row from a JavaScript property to a client side property, allowed visualization properties to be inherited, fixed system that allowed visualizations to set custom defaults for property values, modified behavior of datatable_css_class viewdatatable property, allow view properties to be customized in metadata based on the visualization used, and tweaks to UI Integration tests.

Anonymous Piwik user

In 9b5a42a: Refs #4040, #4041, change the way jqplot.js checks for viewdatatble types, changed relatedReports view property name to related_reports and fixed spelling of row_picker_mach_rows_by.

Anonymous Piwik user

In e898bc2: Refs #4040, #4041 add initial code for making datatable visualizations an extensibility point.

Anonymous Piwik user

In 9e19f24: Refs #4041, #4040 add new CoreVisualizations plugin and move HtmlTable, Cloud & JqplotGraph visualizations to it and improve UIIntegration test debug output.

Anonymous Piwik user

In be35dc4: Refs #4040, #4041, removed ViewDataTable::init & moved default property values for core properties to Properties class.

Anonymous Piwik user

In 7daadd4: Refs #4040, #4041 added new plugin ExtraVisualizations with dummy visualization and made it possible for non-core visualizations to appear in DataTable UI footer.

Anonymous Piwik user

In 6f8b40d: Refs #4040, #4041, added documentation to DataTableVisualization class.

Anonymous Piwik user

In 27dcd70: Refs #4040, #4041, removed two-phase rendering for ViewDataTable.

Anonymous Piwik user

In 5ff42da: Refs #4041, added parameter to Archive::getDataTableExpanded so entire tree will not be created if not necessary.

Matthieu Aubry
Owner

In 07c430f: Always enable CoreVisualizations plugin Refs #4041

Anonymous Piwik user

In 1d09b2c: Refs #4041, fixing regressions & bugs in visualization refactor.

Matthieu Aubry
Owner

It is very welcome to see these simplifications in the Visualizations/ViewDatatable code!

Looking forward to seeing final result & new Treemap visualization plugin

Matthieu Aubry
Owner

In 07dab25: Refs #4041 Deleting ExtraVisualizations plugin (to be renamed to Treemap)

Anonymous Piwik user

In 2549406: Refs #4041, fix regression when evolution graph tries to display empty graph.

Anonymous Piwik user

In eafff67: Refs #4041, fix regression in datatable footer width.

Benaka
Collaborator

Treemap will go in a new ticket, so calling this done.

Anonymous Piwik user

In 771d42f: Refs #4041, fix regression that caused jqplot tooltips not to show.

Anonymous Piwik user

In b33ce4c: Refs #4041, add default getDefaultPropertyValues() call for DataTableVisualizations, move overrideViewProperties() call in ViewDataTable to right before data is loaded from API, fix @category/@package for files moved into CoreVisualizations.

Anonymous Piwik user

In c732114: Refs #4041, removed Visualizations\Chart* classes and moved Visualization\Chart to CoreVisualizations plugin and removed graph_width/graph_height visualization properties in favor of CSS solution.

Anonymous Piwik user

In a22af72: Refs #4041, added Graph base visualization to hold visualization properties that are not specific to jqplot graphs.

Anonymous Piwik user

In 349b2eb: Refs #4041, remove setActiveIcon function from dataTable.js and refactor way footer icons are rendered in _dataTable.twig.

Anonymous Piwik user

In c0fe3f4: Refs #4041, fix regression in last commit.

Anonymous Piwik user

In 35e86eb: Refs #4041, fix another regression in previous commit.

Anonymous Piwik user

In f75363e: Refs #4041, fix another regression in previous commit.

Anonymous Piwik user

In 96bd72a: Refs #4041, fix yet another regression in previous commit.

Anonymous Piwik user

In 5254d5e: Refs #4041, fix yet another regression in previous commit.

Anonymous Piwik user

In fc8ae5f: Refs #4041, change filter_limit, filter_sort_column and filter_sort_order to be client side parameters of HtmlTable visualization only so its no longer necessary to disable queued/generic filters for graphs.

Anonymous Piwik user

In ad685e9: Refs #4041, mild refactoring to ViewDataTable, handle max_graph_elements property w/ filter_truncate instead of directly executing filter and fix bug in JqplotGraph's constructor.

Anonymous Piwik user

In 1fe353b: Refs #4041, remove override of filter_offset in Graph DataTable visualization.

Anonymous Piwik user

In 9e56138: Refs #4041, allow all view/visualization properties to be set via query parameter, remove unecessary client side properties from ViewDataTable, move HtmlTable specific client side parameters to HtmlTable, remove code that looks for generic filter query parameters when setting client side parameters, make sure client side parameters are set if they're not false (ie, 0) instead of if not empty and add filter_offset as view property.

Anonymous Piwik user

In caef9f9: Refs #4041, #4077, started refactoring of series picker JavaScript so it can be used by more than just jqPlot graphs.

Notes:

  • Added new 'after_data_loaded_functions' view property that executes callbacks after data is loaded. Different from filters since it will be only executed once per data table.
  • Moved row picker view properties to Graph datatable visualization.
  • Refactored jqplot data generation so selectable columns & rows are dealt w/ in Graph datatable visualization instead of a JqplotDataGenerator instance.
  • Rewrote series picker to use dataTable client side properties instead of data generated by JqplotDataGenerator.
  • Fixed jqplock typo.
Anonymous Piwik user

In fcb5892: Refs #4077, #4041, separated jqplot specific code from generic series picker code and cleaned up series picker code a bit.

Anonymous Piwik user

In f1193c9: Refs #4041, #4077, document SeriesPicker JS class.

Anonymous Piwik user

In ed0f3d2: Refs #4100, #4041, #4077, add minimal UI module inclusion/creation function and use for SeriesPicker. Also includes a documentation correction for SeriesPicker.

Anonymous Piwik user

In 6aa3a44: Refs #4100, #4041, #4077, fix docs in last commit.

Anonymous Piwik user

In c4b42a1: Refs #4041, fix bug in defaulting selectable columns.

Anonymous Piwik user

In 6cb518d: Refs #4041, document some functions in Graph visualization class.

Anonymous Piwik user

In 53f3d24: Refs #4041, refactored jqplot datatable visualizations (mainly the evolution graph),

Notes:

  • Fix bugs in DataTable class where getRowFromLabel would fail if summary row label is returned.
  • Fix regression caused by datatable visualization refactor (add_total_row property was effectively ignored).
  • Added x_axis_step_size property to jqplot graph.
Anonymous Piwik user

In b674102: Refs #4041, small tweak to last commit.

Anonymous Piwik user

In 42623a0: Refs #4041, refactored jqplot.js file by removing JQPlot class and creating JqplotGraph datatable class, and did more refactoring to jqplot data generating mechanism.

Notes:

  • Removed jqplot specific code from datatable_manager.js and moved to new JqplotGraph class.
  • Moved tooltip percentage calculating code to client.
Anonymous Piwik user

In 7c3d534: Refs #4041, split JqplotGraph datatable class into three: JqplotBarGraph, JqplotPieGraph & JqplotEvolutionGraph.

Anonymous Piwik user

In 09784e5: Refs #4041, add last visits graph to visitor profile (commented out) and highlight visit whose details are currently displayed.

Anonymous Piwik user

In 3c11c23: Refs #4041, moved & renamed actionDataTable JavaScript class to file in the Actions plugin.

Anonymous Piwik user

In b1205a5: Refs #4041, force DataTable visualizations to specify which properties should be overridable and move some view properties to different visualizations.

Anonymous Piwik user

In e36142a: Refs #4041, default to HtmlTable if visualization ID is invalid and filled out a function doc.

Anonymous Piwik user

In 6452d59: Refs #4041, Fix regression.

Anonymous Piwik user

In d5d6c9e: Refs #4041, use require() and UIControl in all DataTable JS classes.

Anonymous Piwik user

In 83261e0: Refs #4041, #3317, #4077, allow different visualizations to specify their own loading logic (when the appropriate footer icon is clicked) and fix a couple UI bugs in treemap.

Anonymous Piwik user

In 4bb2de9: Refs #4041, remove subtable_template property and _dataTableActions_subDataTable.twig file.

Anonymous Piwik user

In c0768bf: Refs #4041, #3317, allow visualization ID to be whole class name, allow footer icons to be customized per report/visualization, made visitor log a new visualization and removed the datatable_template display property.

Anonymous Piwik user

In e4c5269: Refs #4041, add default value to all visualization property docs.

Anonymous Piwik user

In 6b906ed: Refs #4041, make all DataTableVisualizations derive from Piwik\View.

Anonymous Piwik user

In ce27579: Refs #4041, fix regression in tag cloud.

Anonymous Piwik user

In c9356bb: Refs #4041, rename javascriptVariablesToSet to clientSideParameters and fix regression in visitor log.

Anonymous Piwik user

In 2b14ad2: Refs #4041, allow datatable HTML to use JS namespace when specifying the client-side datatable type.

Anonymous Piwik user

In 4d5d101: Refs #4041, remove DatatableManager class and replace with UIControl code.

Anonymous Piwik user

In 4d7d126: Refs #4041, fix bug when switching to normal visualizations.

Anonymous Piwik user

In ed569f2: Refs #4041, #4077, make sure treemap subtable loading determines row limit dynamically, and allow visualizations to apply viewdatatable queued filters on their own time.

Anonymous Piwik user

In c2061d4: Refs #4077, #4041, resize treemap on widget resize and fix regression in jqplot refactoring (export as image didn't work).

Anonymous Piwik user

In b7bfa2b: Refs #4041, fix bug where columns query parameter was not correctly overriding default value of columns_to_display display property.

Anonymous Piwik user

In 957b80e: Refs #4041, fixing DBStats regression.

Thomas Steur
Owner

it would be cool to set the ViewDataTable properties within the Visualization class (
$this->show_xyz=true
) instead of the ViewDataTable (
$view->show_xyz=true
). Would be also cool not to do everything in Visualization constructor but having different "hooks/methods" like "
init
", "
beforeLoadDataTable
", "
afterLoadDataTable
", "
beforeRender
". This way it is a bit clearer what is going on. I did not get it working but I'll attach two patches though for better understanding.

Would be cool if a developer could create a new visualization by just defining the template name and creating the template itself. If the developer wants to change some ViewDataTable properties (for instance disable search), he would just set theshow_search property to false within the
init
method. If he also wants to apply some filter or whatever, he could implement the
before/afterLoadDataTable
methods.

Thomas Steur
Owner

Attachment:
visualization.patch

Thomas Steur
Owner

Attachment:
visTreemap.patch

Benaka
Collaborator

Some of these ideas are opposed to some fundamental ideas I used when refactoring, so I will just explain the relevant reasoning I used in my design. Matt will have to figure out what to do w/ the info.

Replying to tsteur:

it would be cool to set the ViewDataTable properties within the Visualization class (
$this->show_xyz=true
) instead of the ViewDataTable (
$view->show_xyz=true
).

Visualizations are not ViewDataTables in that they do not have, remove or fundamentally alter the footer. The idea here was that the footer controls would be constant in most visualizations, so the visualization concept was moved out of ViewDataTable. It could be possible to change the code to $this->, but that would be semantically incorrect.

Would be also cool not to do everything in Visualization constructor but having different "hooks/methods" like "
init
", "
beforeLoadDataTable
", "
afterLoadDataTable
", "
beforeRender
". This way it is a bit clearer what is going on. I did not get it working but I'll attach two patches though for better understanding.

This is understandable, the dataTable loading/rendering process is complicated and some things have to be done after some things and before other things. I didn't get that far into figuring out where hooks were necessary. I did purposefully avoid using methods as hooks. I made the choice to use 'properties' over methods since properties can be more easily (and clearly) used and defaulted, take up less code space and are conceptually more appropriate for views. Instead of methods like afterDataTableLoaded I added the after_data_loaded_functions property.

I also made an effort to avoid functions, so that there would be less for users to have to understand when creating visualizations. If the only thing you need to write is a constructor, that makes things a lot easier than having to know exactly when your code needs to execute. "When your visualization is created, it configures & overrides the ViewDataTable" is easier to deal w/ then "When your visualization has to do things before the datatable is loaded, write code here. When your visualization has to do things after the datatable is loaded, write code here. When your ... etc.".

As it stands, I would rather remove the need for after_data_loaded_functions/afterDataTableLoaded then add several hooks.

Would be cool if a developer could create a new visualization by just defining the template name and creating the template itself. If the developer wants to change some ViewDataTable properties (for instance disable search), he would just set theshow_search property to false within the
init
method. If he also wants to apply some filter or whatever, he could implement the
before/afterLoadDataTable
methods.

I don't understand what you mean. How would you specify the viewDataTableId & footer icon for a visualization w/ just a template? Or would the class still be there? If the class is there, then that's the same minimum amount of code needed currently.

Btw, is there a set of use cases you need some/all of these changes for?

Benaka
Collaborator

Replying to tsteur:

it would be cool to set the ViewDataTable properties within the Visualization class (
$this->show_xyz=true
) instead of the ViewDataTable (
$view->show_xyz=true
).

I thought about this & your code a bit more, and I think your idea of using fields instead of CONSTs is a good one. I think there could be some changes though:

  • The fields should be public since they're just properties.

  • Instead of using @property on the class, these should be on the properties themselves, eg:

/**
 * ...
 * @property
 */
public $show_evolution_values = false;

This way the code would know exactly which fields are properties.

  • You could also use annotations to determine if properties are client side properties/parameters:
/**
 * ...
 * @property
 * @clientSideProperty
 */
public $show_evolution_values = false;
  • The logic that deals w/ properties + passing them on to JavaScript could be implemented either in View itself or in a separate class that derived from View. This is part of an idea I had in #4116. I would've put the logic into a new class and called it UIControl.

  • Finally, I think that request_parameters_to_modify might be the only property that has to be set before the datatable is obtained. If that information were to be supplied differently (as in, not through a property), perhaps hooks would be unnecessary.

Benaka diosmosis added this to the 2.0 - Piwik 2.0 milestone
Thomas Steur tsteur was assigned by diosmosis
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, cleaned up ViewDataTable, related classes, and related te…
…mplates:

- Remove uniqIdTable, chartDivId and related code as important element IDs are determined in datatable_manager.js now.
- Clarify _dataTable twig template + related css.
- Also added visiblity to Piwik_DataTable_Renderer_Php::renderException.
b5ed458
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, allow subtable template to be used if idSubtable is in re…
…quest so Actions controller doesn't have to call setTemplate. Also did some mild refactoring for Piwik_ViewDataTable_HtmlTable::setRecursiveLoadDataTableIfSearchingForPattern.
4f0e655
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, move all ViewDataTable properties to the viewPrope…
…rties array and allow these properties to be specified through new display metadata. Converted the Actions, Goals, UserSettings and VisitTime controllers.

Notes:
  - Includes refactoring of ExcludeLowPopulation filter.
0105777
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, fix bug in displaying DBStats reports by redefining how c…
…olumns_to_display view property defaults and allow unique visitors to be displayed on reports that have it, outside of period=day.
349f280
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, move Piwik_ViewDataTable_GenerateGraphData logic to new J…
…qplotDataGenerator class that does not derive from ViewDataTable and remove recursive API request used to get graph data.
0713062
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, modify tag cloud ViewDataTable to use _dataTable.twig w/ …
…Visualization_Cloud as visualization..
93b301d
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, merge _dataTableGraph.twig with _dataTable.twig (moved un…
…mergable parts to new visualization twig file for Visualization_JqplotGraph).
26051fc
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, added ability to access view properties directly, …
…started documenting view properties and modified ExampleUI plugin to set view properties directly.
edf2c04
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041 convert RowEvolution popup rendering code to set vi…
…ew properties directly.
0ea1a94
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, fix sparklines regression caused by datatable css …
…refactoring and clean up the getLastUnitGraphAcrossPlugins function (modified to set properties directly).
13f657c
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041 removed rest of viewdatatable set/get/enable/disabl…
…e property functions, did the same for all other ViewDataTable classes, moved most of ViewDataTable/HtmlTable logic to visualization instead of main class and re-add links for UI integration tests.
0f61caa
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, move AllColumns ViewDataTable & Goals ViewDataTabl…
…e logic to HtmlTable visualization class & remove those classes. Revised the way visualizations default/override view properties. Cleaned up the ViewDataTable class a bit. Added base type for datatable visualizations.
7519e67
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, remove is_multi_evolution javascript parameter as …
…it is no longer necessary due to earlier row evolution refactoring.
b808489
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, remove GenerateGraphHtml & descended ViewDataTable…
…s and replace w/ new visualizations for jqplot.
cc92fac
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #4040, moved viewdatatable cloud logic to cloud visualiza…
…tion. Removed cloud viewdatatable.
cf8d0a5
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, move visualization only view properties to separat…
…e visualizations, changed JavaScript properties to 'client side parameters' and 'overridable properties' to 'client side properties', changed keep_summary_row from a JavaScript property to a client side property, allowed visualization properties to be inherited, fixed system that allowed visualizations to set custom defaults for property values, modified behavior of datatable_css_class viewdatatable property, allow view properties to be customized in metadata based on the visualization used, and tweaks to UI Integration tests.
2615404
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, change the way jqplot.js checks for viewdatatble t…
…ypes, changed relatedReports view property name to related_reports and fixed spelling of row_picker_mach_rows_by.
9b5a42a
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041 add initial code for making datatable visualization…
…s an extensibility point.
e898bc2
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #4040 add new CoreVisualizations plugin and move HtmlTabl…
…e, Cloud & JqplotGraph visualizations to it and improve UIIntegration test debug output.
9e19f24
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041, removed ViewDataTable::init & moved default proper…
…ty values for core properties to Properties class.
be35dc4
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4040, #4041 added new plugin ExtraVisualizations with dummy vis…
…ualization and made it possible for non-core visualizations to appear in DataTable UI footer.
7daadd4
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, added parameter to Archive::getDataTableExpanded so entir…
…e tree will not be created if not necessary.
5ff42da
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Always enable CoreVisualizations plugin Refs #4041 07c430f
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, add default getDefaultPropertyValues() call for DataTable…
…Visualizations, move overrideViewProperties() call in ViewDataTable to right before data is loaded from API, fix @category/@package for files moved into CoreVisualizations.
b33ce4c
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, removed Visualizations\Chart\* classes and moved Visualiz…
…ation\Chart to CoreVisualizations plugin and removed graph_width/graph_height visualization properties in favor of CSS solution.
c732114
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, added Graph base visualization to hold visualization prop…
…erties that are not specific to jqplot graphs.
a22af72
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, remove setActiveIcon function from dataTable.js and refac…
…tor way footer icons are rendered in _dataTable.twig.
349b2eb
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, fix regression in last commit. c0fe3f4
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, change filter_limit, filter_sort_column and filter_sort_o…
…rder to be client side parameters of HtmlTable visualization only so its no longer necessary to disable queued/generic filters for graphs.
fc8ae5f
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, mild refactoring to ViewDataTable, handle max_graph_eleme…
…nts property w/ filter_truncate instead of directly executing filter and fix bug in JqplotGraph's constructor.
ad685e9
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, allow all view/visualization properties to be set via que…
…ry parameter, remove unecessary client side properties from ViewDataTable, move HtmlTable specific client side parameters to HtmlTable, remove code that looks for generic filter query parameters when setting client side parameters, make sure client side parameters are set if they're not false (ie, 0) instead of if not empty and add filter_offset as view property.
9e56138
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #4077, started refactoring of series picker JavaScript so…
… it can be used by more than just jqPlot graphs.

Notes:
  - Added new 'after_data_loaded_functions' view property that executes callbacks after data is loaded. Different from filters since it will be only executed once per data table.
  - Moved row picker view properties to Graph datatable visualization.
  - Refactored jqplot data generation so selectable columns & rows are dealt w/ in Graph datatable visualization instead of a JqplotDataGenerator instance.
  - Rewrote series picker to use dataTable client side properties instead of data generated by JqplotDataGenerator.
  - Fixed jqplock typo.
caef9f9
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4077, #4041, separated jqplot specific code from generic series…
… picker code and cleaned up series picker code a bit.
fcb5892
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #4077, document SeriesPicker JS class. f1193c9
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4100, #4041, #4077, add minimal UI module inclusion/creation fu…
…nction and use for SeriesPicker. Also includes a documentation correction for SeriesPicker.
ed0f3d2
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4100, #4041, #4077, fix docs in last commit. 6aa3a44
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, refactored jqplot datatable visualizations (mainly the ev…
…olution graph),

Notes:
  - Fix bugs in DataTable class where getRowFromLabel would fail if summary row label is returned.
  - Fix regression caused by datatable visualization refactor (add_total_row property was effectively ignored).
  - Added x_axis_step_size property to jqplot graph.
53f3d24
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, small tweak to last commit. b674102
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, refactored jqplot.js file by removing JQPlot class and cr…
…eating JqplotGraph datatable class, and did more refactoring to jqplot data generating mechanism.

Notes:
  - Removed jqplot specific code from datatable_manager.js and moved to new JqplotGraph class.
  - Moved tooltip percentage calculating code to client.
42623a0
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, split JqplotGraph datatable class into three: JqplotBarGr…
…aph, JqplotPieGraph & JqplotEvolutionGraph.
7c3d534
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, add last visits graph to visitor profile (commented out) …
…and highlight visit whose details are currently displayed.
09784e5
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, moved & renamed actionDataTable JavaScript class to file …
…in the Actions plugin.
3c11c23
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, force DataTable visualizations to specify which propertie…
…s should be overridable and move some view properties to different visualizations.
b1205a5
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, default to HtmlTable if visualization ID is invalid and f…
…illed out a function doc.
e36142a
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, Fix regression. 6452d59
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #3317, #4077, allow different visualizations to specify t…
…heir own loading logic (when the appropriate footer icon is clicked) and fix a couple UI bugs in treemap.
83261e0
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, remove subtable_template property and _dataTableActions_s…
…ubDataTable.twig file.
4bb2de9
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #3317, allow visualization ID to be whole class name, all…
…ow footer icons to be customized per report/visualization, made visitor log a new visualization and removed the datatable_template display property.
c0768bf
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, fix regression in tag cloud. ce27579
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, rename javascriptVariablesToSet to clientSideParameters a…
…nd fix regression in visitor log.
c9356bb
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, allow datatable HTML to use JS namespace when specifying …
…the client-side datatable type.
2b14ad2
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, #4077, make sure treemap subtable loading determines row …
…limit dynamically, and allow visualizations to apply viewdatatable queued filters on their own time.
ed569f2
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4077, #4041, resize treemap on widget resize and fix regression…
… in jqplot refactoring (export as image didn't work).
c2061d4
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, fix bug where columns query parameter was not correctly o…
…verriding default value of columns_to_display display property.
b7bfa2b
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Benaka diosmosis Refs #4041, fixing DBStats regression. 957b80e
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.