Describe the bug
The Copy, CSV and PDF exports of the playout history log sheets call flash functions such as /js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf within datatables. These don't work without getting flash working in the browser. I think the long term solution is to replace datatables and potentially re-write the front-end (#2).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A pop-up should display giving the user a chance to download the PDF or show the PDF in the browser in a new tab.
LibreTime version:
3.0.0~alpha.8
Installation method:
./installClient (please complete the following information if applicable):
@paddatrapper Solution here: https://datatables.net/extensions/buttons/examples/initialisation/export
I can't find exactly where to drop it in, but I'll keep looking.
Yeah, we definitely need a newer version of datatables. The issue is I'm not sure how much will break with a newer version...
Do you know which release we currently use?
Version 1.9.4 according to https://github.com/LibreTime/libretime/blob/master/airtime_mvc/public/js/datatables/js/jquery.dataTables.js
This is something that @hairmare looked into a long time ago and ran into the issue that the original developers of Airtime basically patched the core of DataTables in such a way that it would require significant refactoring to upgrade it and other javascript libraries. I never really delved too deep into it but it isn't as simple as putting in a new version of DataTables, we would have to figure out way to reimplement the patches or alternative ways of accomplishing what the patches did. Sorry I haven't had been working on development for LibreTime due to being focused elsewhere so I am just trying to chime in with my knowledge.
I think the real solution would be to replace the UI framework and frontend completely. That is part of my motivation to get a new API up and running (#958). That would allow us to create a completely reactive, API-driven UI in something like Vue (but that discussion is in #935)
@Robbt No need to apologize. Thanks for getting this project started. 馃槂
Yeah, I think that this the API approach is the right solution, one thought I had is that it would be helpful to do a real-time chat or even voice/video based meeting to discuss development priorities on a monthly basis or more frequently. It might allow us to coordinate and check-in. I know that it would be time consuming but I think it would benefit the project.
We're on the same wavelength. I've been floating the idea of a monthly or bi-monthly meeting here - https://discourse.libretime.org/t/slow-development-activity/673
@paddatrapper What more needs to be done to get the API ready?
I need to get the api_client python application working with the new API. This would mean that all the python apps have been migrated. I've been working on getting the Now/Next that is pulled into liquidsoap working, but then life got a bit hectic. I'm hoping to be able to get back to it in a week or so.
Once the new API is working with the api_client and integrated into the installer, we can merge that PR and start looking at rewriting parts of the front-end. I would like to be able to do that piecemeal, so that pages can be done individually without requiring an entire UI re-write before things can be merged. That way development isn't stalled while everyone waits for a new UI to develop against.
(I have also updated #958 with this info, as that is probably where this discussion should go)
Back to DataTables, their docs say upgrading is just drop in place: https://datatables.net/upgrade/1.10-faqs
OK. Need to check if the modifications made by the Airtime devs is compatible
Duplicates #518
Closing this one in favor of #518 since I just spent time on that
fee free to reopen or ask for a reopen if you'd like to keep this open to track a backport of a datatable.js based fix as a quick win in the meantime btw!