Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export overlay for Datatables #11958

Merged
merged 12 commits into from Mar 22, 2018
Merged

Export overlay for Datatables #11958

merged 12 commits into from Mar 22, 2018

Conversation

sgiehl
Copy link
Member

@sgiehl sgiehl commented Aug 15, 2017

Exporting reports is currently done using the export icon in footer. Clicking on it shows a dropdown to choose the format.

The PR implements an overlay which is shown upon clicking the export icon in datatable footer.
This provide additional possibilities to change configurations for export like format, row limit and maybe others:

image

@mattab @tsteur Any thoughs on this? Should we maybe also make it possible to change date, period and similar things in kind of "advanced options" in this overlay?

EDIT by matt: will fix #8314

@tsteur
Copy link
Member

tsteur commented Aug 15, 2017

Looks good to me. Gives us later some more options to eg also add share buttons etc.

Not sure if hard to do but ideally one would be also able to export report as widget (might be more complicated and we have different issue anyway so can be ignored for now).

Be good to later add more options like date / period, show selected segment etc.

@mattab
Copy link
Member

mattab commented Aug 16, 2017

Looks good. A very common request from users is about exporting all data and such solution could address this issue.

Feedback:

  • In the row limit field we need an easy way to select "All rows" (the option users are looking for most of the time)
  • add the segment editor and dates/period would also be nice to have (now or later)

@mattab mattab added this to the 3.1.0 milestone Aug 16, 2017
value="CSV"
ng-model="$parent.reportFormat"
full-width="true"
options="availableReportFormats">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When opening a layer the selection list does not extend out of bounds and instead extends the dialog contents vertically with scrollbars. However this also happens with the limit control in the visitor segment popovers.

The latter are receiving an overflow: auto from jQuery UI (.ui-dialog .ui-dialog-content) while the modals (as used here) have it set by Materialize (.modal). As both these libraries should have their reasons for setting this it might not be nice to overwrite that setting.

Are there any other options like a radio selection to get around this easily?

@sgiehl sgiehl modified the milestones: 3.2.0, 3.1.0 Aug 28, 2017
@sgiehl sgiehl self-assigned this Sep 27, 2017
@mattab
Copy link
Member

mattab commented Dec 15, 2017

This will be a very awesome feature!

Feedback for MVP:

  • in the dashboard, when clicking the export icon, it seems the title in the popover does not get updated and I'm seeing a title of another widget I previously clicked. let me know if you can't reproduce this?
  • In the row limit field, add a "All rows" option somehow (as this will be what users want most of the time)
  • bug: as @mneudert mentioned "When opening a layer the selection list does not extend out of bounds and instead extends the dialog contents vertically with scrollbars. "
  • This is a great opportunity to surface our "Processed metadata" report. Let's add a new dropdown "Report type" which is by default "Standard report", but can be changed to "Report with Metadata". When selected the URL is updated so the []processed metadata report](https://developer.piwik.org/api-reference/reporting-api-metadata) is exported instead.
  • When "Report with metadata" is selected, hide the Export formats that don't support nested datatables ie. hide the following formats: CSV, TSV, HTML, RSS (only XML + JSON work)

Optional / nice to have:

@mattab mattab modified the milestones: 3.3.0, 3.2.2 Dec 15, 2017
@sgiehl sgiehl force-pushed the exportoverlay branch 8 times, most recently from db4276d to bb94a20 Compare December 26, 2017 17:29
@sgiehl sgiehl force-pushed the exportoverlay branch 2 times, most recently from a5bae68 to e68b1a9 Compare January 1, 2018 16:22
@sgiehl
Copy link
Member Author

sgiehl commented Jan 2, 2018

@mattab I've done various adjustments to the export popover. it should now handle everything you mentioned as MVP. Additionally for tables that can be flattened / has subtables, it will also show checkbox to flatten the table or to expand the subtables.

@sgiehl sgiehl force-pushed the exportoverlay branch 2 times, most recently from 784fb27 to 08d9d2f Compare January 6, 2018 22:23
@mattab mattab modified the milestones: 3.4.0, 3.3.1 Jan 22, 2018
@sgiehl sgiehl force-pushed the exportoverlay branch 3 times, most recently from 8ffdbaa to 46a727b Compare January 22, 2018 20:57
@sgiehl sgiehl changed the title [WIP] Export overlay for Datatables Export overlay for Datatables Feb 8, 2018
@sgiehl sgiehl removed their assignment Feb 8, 2018
@sgiehl sgiehl added the Needs Review PRs that need a code review label Feb 8, 2018
@mattab
Copy link
Member

mattab commented Mar 22, 2018

It looks really great and will be very handy, often 🎉

@mattab mattab merged commit 23a458a into 3.x-dev Mar 22, 2018
@mattab mattab deleted the exportoverlay branch March 22, 2018 02:38
InfinityVoid pushed a commit to InfinityVoid/matomo that referenced this pull request Oct 11, 2018
* Implements export overlay for datatables

* use popover instead of modal

* use radio instead of select

* fix positioning of popover

* improve popover; translations

* adjust tests

* update ui files

* add options for flatten & expanded

* make export popover work with other popover

- old popover will be recreated when export popover is closed

* improve export url creation

* update ui files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Review PRs that need a code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Let user select how many records / rows to export when clicking for example CSV export
4 participants