This is a follow-up to d726c4889e.
The previous change missed changing the name of the query object when passing it to QueryResultsWrapper, which resulted in the download links not working properly after a query was run.
This change fixes that bug, and includes an acceptance test to ensure it stays fixed during future work on this plugin.
The code for listing all of the defined queries is mixed together with the code for editing a single query. Notably, this results in large amounts of unnecessary data being loaded for the list view, which causes substantial rendering slowdowns.
To address this issue, we now only load the necessary data for the list view, and load the full data when it's actually needed (any endpoint that returns a single query). The primary changes that achieve this are:
- Create a new `QueryDetailsSerializer` serialiser, which includes all of the query info, and change the existing `QuerySerializer` serialiser to only include the necessary attributes of each query for generating a list of them all.
- Split the monolith `/plugins/explorer` route into `/plugins/explorer` for showing just the list of queries, and `/plugins/explorer/queries/:query_id`, for showing/editing/running a specific query.
What does this fix?
===================
When creating a data explorer query that includes parameters, the
parameter input boxes don’t display until the page is refreshed.
After this commit, when the query is saved, the input boxes will appear.
ref: t/113297
This commit changes the header for the first column of the queries table to have the correct label. Currently it says "Created by", but it should be "Query".
- Drop `explorer-container` and move its logic to `admin-plugin-explorer` container
- Convert resizing of the query edit pane from jquery -> draggable modifier
- Require query name is present
- Ensure all routes are treated by default as .json, so errors flow correctly
- Remove superflous save/cancel controls from group settings
- Remove group control when item is destroyed
- Disable editing of query when it is deleted
Co-authored-by: Osama Sayegh <[email protected]>
This is the new version of #126. Now the pick-files-button moved to core. To import a query into Data Explorer, you need to push the button and then deal with the import modal. Instead, we want just to be triggering a system file picker directly. This PR makes it happen.
* FEATURE: Popup to copy shareable links to reports
* Only show created_at if it is non-empty
* remove unneeded dependencies in share-report
* Use Discourse.BaseUrl and i18n some text
* [WIP] group ids saving on new reports
* Add groups to default queries, and added tab connector
* group_ids set to empty array for default queries
* group reports route (in & and) action
* [WIP] created group reports show route/controller
* Find correct query in show route
* Removed empty array for group_ids in query file
* Add report show view, where users can run queries
* Removed unneeded commas from queries.rb
* Allow non-admin group members to access reports
* query-result component dynamic download url based on location
* Removed accidental changes, and corrected tab size
* Group members can add params to queries
* Specs for new QueryController actions
* remove "Inlude query plan" from group reports
* Run prettier
* return and return -> return render
Co-Authored-By: Robin Ward <[email protected]>
* [WIP] changes from review
* Remove weird [-1] group_ids logic, for a simply check for [] in query update action
* Added integration tests for group report access
* Using guardian for securing endpoints, and much improved specs
* Update assets/javascripts/discourse/components/group-reports-nav-item.js.es6
Co-Authored-By: Robin Ward <[email protected]>
- Add a "play" glyph for the Run & SaveRun buttons
- ensure that there's only one primary button on the page i.e. Run
- Remove btn-danger from discard button
- remove redundant button class from create button
- Improve redundant copy by removing the word "Query"