Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Allow plugins to define new Visualizations and custom ViewDataTable #4041

Closed
diosmosis opened this Issue · 88 comments

4 participants

@diosmosis
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.

@mattab
Owner

In 07c430f: Always enable CoreVisualizations plugin Refs #4041

@anonymous-piwik-user

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

@mattab
Owner

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

Looking forward to seeing final result & new Treemap visualization plugin

@mattab
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.

@diosmosis
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.

@tsteur
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.

@tsteur
Owner

Attachment:
visualization.patch

@tsteur
Owner

Attachment:
visTreemap.patch

@diosmosis
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?

@diosmosis
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.

@diosmosis diosmosis added this to the 2.0 - Piwik 2.0 milestone
@tsteur tsteur was assigned by diosmosis
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, modify tag cloud ViewDataTable to use _dataTable.twig w/ …
…Visualization_Cloud as visualization..
93b301d
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, merge _dataTableGraph.twig with _dataTable.twig (moved un…
…mergable parts to new visualization twig file for Visualization_JqplotGraph).
26051fc
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4040, #4041 convert RowEvolution popup rendering code to set vi…
…ew properties directly.
0ea1a94
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4040, #4041, fix sparklines regression caused by datatable css …
…refactoring and clean up the getLastUnitGraphAcrossPlugins function (modified to set properties directly).
13f657c
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4040, #4041, remove is_multi_evolution javascript parameter as …
…it is no longer necessary due to earlier row evolution refactoring.
b808489
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4040, #4041, remove GenerateGraphHtml & descended ViewDataTable…
…s and replace w/ new visualizations for jqplot.
cc92fac
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, #4040, moved viewdatatable cloud logic to cloud visualiza…
…tion. Removed cloud viewdatatable.
cf8d0a5
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4040, #4041 add initial code for making datatable visualization…
…s an extensibility point.
e898bc2
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, #4040 add new CoreVisualizations plugin and move HtmlTabl…
…e, Cloud & JqplotGraph visualizations to it and improve UIIntegration test debug output.
9e19f24
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4040, #4041, removed ViewDataTable::init & moved default proper…
…ty values for core properties to Properties class.
be35dc4
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, added parameter to Archive::getDataTableExpanded so entir…
…e tree will not be created if not necessary.
5ff42da
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@mattab mattab Always enable CoreVisualizations plugin Refs #4041 07c430f
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, added Graph base visualization to hold visualization prop…
…erties that are not specific to jqplot graphs.
a22af72
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, remove setActiveIcon function from dataTable.js and refac…
…tor way footer icons are rendered in _dataTable.twig.
349b2eb
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, fix regression in last commit. c0fe3f4
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4077, #4041, separated jqplot specific code from generic series…
… picker code and cleaned up series picker code a bit.
fcb5892
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, #4077, document SeriesPicker JS class. f1193c9
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4100, #4041, #4077, fix docs in last commit. 6aa3a44
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, small tweak to last commit. b674102
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, split JqplotGraph datatable class into three: JqplotBarGr…
…aph, JqplotPieGraph & JqplotEvolutionGraph.
7c3d534
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, add last visits graph to visitor profile (commented out) …
…and highlight visit whose details are currently displayed.
09784e5
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, moved & renamed actionDataTable JavaScript class to file …
…in the Actions plugin.
3c11c23
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, force DataTable visualizations to specify which propertie…
…s should be overridable and move some view properties to different visualizations.
b1205a5
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, default to HtmlTable if visualization ID is invalid and f…
…illed out a function doc.
e36142a
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, Fix regression. 6452d59
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, remove subtable_template property and _dataTableActions_s…
…ubDataTable.twig file.
4bb2de9
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, fix regression in tag cloud. ce27579
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, rename javascriptVariablesToSet to clientSideParameters a…
…nd fix regression in visitor log.
c9356bb
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, allow datatable HTML to use JS namespace when specifying …
…the client-side datatable type.
2b14ad2
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4077, #4041, resize treemap on widget resize and fix regression…
… in jqplot refactoring (export as image didn't work).
c2061d4
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis diosmosis Refs #4041, fix bug where columns query parameter was not correctly o…
…verriding default value of columns_to_display display property.
b7bfa2b
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@diosmosis 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.