From b9fbc46096f8a51c8909fb72d1da6f2584dcd8b3 Mon Sep 17 00:00:00 2001 From: Elias Villiger Date: Mon, 17 May 2021 19:40:51 +0000 Subject: [PATCH 1/2] F12183 download table as csv --- Documentation/Form.rst | 2 +- Documentation/Installation.rst | 9 +++++---- Documentation/Report.rst | 20 +++++++++++++++++--- Gruntfile.js | 6 ++++-- javascript/src/TablesorterController.js | 7 +++++-- 5 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Documentation/Form.rst b/Documentation/Form.rst index bafedaf3..f7a659f0 100644 --- a/Documentation/Form.rst +++ b/Documentation/Form.rst @@ -3214,7 +3214,7 @@ This example will display graphics instead of text 'add' and 'remove'. Also ther tgClass = qfq-child-margin-top tgAddClass = btn alert-success tgAddText = - tgRemoveClass = btn btn-danger alert-danger + tgRemoveClass = btn alert-danger tgRemoveText = Chart diff --git a/Documentation/Installation.rst b/Documentation/Installation.rst index 2329624f..49ab70ff 100644 --- a/Documentation/Installation.rst +++ b/Documentation/Installation.rst @@ -251,14 +251,15 @@ Setup CSS & JS file10 = typo3conf/ext/qfq/Resources/Public/JavaScript/jquery.tablesorter.combined.min.js file11 = typo3conf/ext/qfq/Resources/Public/JavaScript/jquery.tablesorter.pager.min.js file12 = typo3conf/ext/qfq/Resources/Public/JavaScript/widget-columnSelector.min.js + file13 = typo3conf/ext/qfq/Resources/Public/JavaScript/widget-output.min.js # Only needed in case FormElement 'annotate' is used. - file13 = typo3conf/ext/qfq/Resources/Public/JavaScript/fabric.min.js - file14 = typo3conf/ext/qfq/Resources/Public/JavaScript/qfq.fabric.min.js + file14 = typo3conf/ext/qfq/Resources/Public/JavaScript/fabric.min.js + file15 = typo3conf/ext/qfq/Resources/Public/JavaScript/qfq.fabric.min.js # Only needed in case FullCalendar is used - file15 = typo3conf/ext/qfq/Resources/Public/JavaScript/moment.min.js - file16 = typo3conf/ext/qfq/Resources/Public/JavaScript/fullcalendar.min.js + file16 = typo3conf/ext/qfq/Resources/Public/JavaScript/moment.min.js + file17 = typo3conf/ext/qfq/Resources/Public/JavaScript/fullcalendar.min.js } diff --git a/Documentation/Report.rst b/Documentation/Report.rst index 14efa26e..515ea267 100644 --- a/Documentation/Report.rst +++ b/Documentation/Report.rst @@ -2846,8 +2846,6 @@ The *tablesorter* options: is shown. * Class `tablesorter-column-selector` adds a column selector widget. - - * Activate/Save/Delete `views`: Insert inside of a table html-tag the command:: {{ '' AS _tablesorter-view-saver }} @@ -2879,6 +2877,22 @@ The *tablesorter* options: * If there is a public view with the name 'Default' and a user has no choosen a view earlier, that one will be selected. +* You can export your tablesorter tables as CSV files using the output widget (be sure to include the separate JS file): + + * Create a button to trigger the export with the following Javascript:: + + $('table.tablesorter').trigger('outputTable'); + + * Default export file name: `tableExport.csv` + * Exported with column separator `;` + * Only currently filtered rows are exported. + * Values are exported as text, without HTML tags + * You can change the formatting/value of each cell as follows:: + + CHF 12,345.- + + * Headers and footers are exported as well. + Customization of tablesorter ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2909,7 +2923,7 @@ Customization of tablesorter `data-tablesorter-config` on the table. Use JSON syntax when passing in your own configuration, such as: :: - data-tablesorter-config='{"theme":"bootstrap","widthFixed":true,"headerTemplate":"{content} {icon}","dateFormat":"ddmmyyyy","widgets":["uitheme","filter","saveSort","columnSelector"],"widgetOptions":{"filter_columnFilters":true,"filter_reset":".reset","filter_cssFilter":"form-control","columnSelector_mediaquery":false} }' + data-tablesorter-config='{"theme":"bootstrap","widthFixed":true,"headerTemplate":"{content} {icon}","dateFormat":"ddmmyyyy","widgets":["uitheme","filter","saveSort","columnSelector","output"],"widgetOptions":{"filter_columnFilters":true,"filter_reset":".reset","filter_cssFilter":"form-control","columnSelector_mediaquery":false,"output_delivery":"download","output_saveFileName":"tableExport.csv","output_separator":";"} }' * If the above customization options are not enough, you can output your own HTML for the pager and/or column selector, as well as your own `$(document).ready()` function with the desired config. In this case, it is recommended not to diff --git a/Gruntfile.js b/Gruntfile.js index 49e26fd5..60116612 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -113,7 +113,8 @@ module.exports = function (grunt) { src: [ 'jquery.tablesorter.combined.min.js', 'extras/jquery.tablesorter.pager.min.js', - 'widgets/widget-columnSelector.min.js' + 'widgets/widget-columnSelector.min.js', + 'widgets/widget-output.min.js' ], expand: true, dest: typo3_js, @@ -124,7 +125,8 @@ module.exports = function (grunt) { src: [ 'jquery.tablesorter.combined.min.js', 'extras/jquery.tablesorter.pager.min.js', - 'widgets/widget-columnSelector.min.js' + 'widgets/widget-columnSelector.min.js', + 'widgets/widget-output.min.js' ], expand: true, dest: 'js/', diff --git a/javascript/src/TablesorterController.js b/javascript/src/TablesorterController.js index b8242c99..d3643b08 100644 --- a/javascript/src/TablesorterController.js +++ b/javascript/src/TablesorterController.js @@ -32,12 +32,15 @@ var QfqNS = QfqNS || {}; widthFixed: true, headerTemplate: "{content} {icon}", dateFormat: "ddmmyyyy", - widgets: ["uitheme", "filter", "saveSort", "columnSelector"], + widgets: ["uitheme", "filter", "saveSort", "columnSelector", "output"], widgetOptions: { filter_columnFilters: hasFilter, // turn filters on/off with true/false filter_reset: ".reset", filter_cssFilter: "form-control", - columnSelector_mediaquery: false + columnSelector_mediaquery: false, + output_delivery: "download", + output_saveFileName: "tableExport.csv", + output_separator: ";" } }; } -- GitLab From 768c8a93e2a176a9e576c9293abc358cd36c23e7 Mon Sep 17 00:00:00 2001 From: Carsten Rose Date: Mon, 17 May 2021 22:36:32 +0200 Subject: [PATCH 2/2] New version 21.5.1 --- CHANGELOG.md | 51 ++++++++++++++++++++--------- Documentation-develop/NewVersion.md | 14 ++++---- Documentation/Release.rst | 9 +++-- Documentation/Settings.cfg | 2 +- Documentation/conf.py | 2 +- extension/RELEASE.txt | 34 +++++++++++++++++-- extension/ext_emconf.php | 2 +- version | 2 +- 8 files changed, 85 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 838a6c94..0ffd8bdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,34 +43,51 @@ Version 21.x.x Date: -Notes -^^^^^ +Notes ^^^^^ -Features -^^^^^^^^ +Features ^^^^^^^^ -Bug Fixes -^^^^^^^^^ +Bug Fixes ^^^^^^^^^ + +Version 21.5.1 +-------------- + +Date: 17.05.2021 + +Notes ^^^^^ + +* The `log` directory was moved into the `qfqProject` directory in version 21.2.0 for new installations. But if the + directory `fileadmin/protected/log` already exists then QFQ keeps storing logs there. This was added to release notes + of 21.2.0 in hindsight. + +Features ^^^^^^^^ + +* # 12183 / Download table as csv +* # 12159 / Make url paths absolute (relative to baseUrl) + +Bug Fixes ^^^^^^^^^ + +* # 12516 / Password Hashing Exception Version 21.5.0 -------------- Date: 02.05.2021 -Features -^^^^^^^^ +Features ^^^^^^^^ * CodingGuideline.rst: add Form Best practice Bug Fixes ^^^^^^^^^ -* #10505 / Drag'n'Drop broken on Multi DB Instance - all checks done -* #12475 / During QFQ update take care that all system tables exist. -* #12479 / Remove unwrap('p-tag') for TinyMCE - currently, this breaks regular consecutive

tags -* #12352 / Form As Json: copy via JSON in FormEditor broken. -* #12398 / Fix check required for uploads -* #10754 / Clean up stale requirements.txt +* # 10505 / Drag'n'Drop broken on Multi DB Instance - all checks done +* # 10754 / Clean up stale requirements.txt +* # 11769 / Missing description table in Form.rst +* # 12352 / Form As Json: copy via JSON in FormEditor broken. +* # 12398 / Fix check required for uploads +* # 12475 / During QFQ update take care that all system tables exist. +* # 12479 / Remove unwrap('p-tag') for TinyMCE - currently, this breaks regular consecutive

tags Version 21.4.0 @@ -189,13 +206,17 @@ Date: 01.02.2021 Notes ^^^^^ +* The `log` directory was moved into the `qfqProject` directory in version 21.2.0 for new installations. But if the + directory `fileadmin/protected/log` already exists then QFQ keeps storing logs there. This was added to release notes + of 21.2.0 in hindsight. Features ^^^^^^^^ * #10286 / Download Links: Glyphicon selbst wählen/ausblenden * #11878 / Purge extension option config.documentation -* #6793 / Source files for ZIP archives might now specified with a path/filename how they are called inside the ZIP. +* # 6793 / Source files for ZIP archives might now specified with a path/filename how they are called inside the ZIP. +* log directory was moved into qfqProject directory Bug Fixes ^^^^^^^^^ diff --git a/Documentation-develop/NewVersion.md b/Documentation-develop/NewVersion.md index fdebb37d..d81a07f4 100644 --- a/Documentation-develop/NewVersion.md +++ b/Documentation-develop/NewVersion.md @@ -42,9 +42,10 @@ Neue Versionsnummer 4) In folgenden Files anpassen: - **Achtung**: die Release Minor darf KEINE fuehrenden Nullen enthalten!!! Ansonsten funktioniert die Verteilung vie TER nicht. + **Achtung**: die Release Minor darf KEINE fuehrenden Nullen enthalten!!! Ansonsten funktioniert die Verteilung vie + TER nicht. - **Auto**: ./setVersion.sh 21.5.0a + **Auto**: ./setVersion.sh 21.5.1 Manuell: * extension/Documentation/_make/conf.py: release, version- @@ -53,14 +54,13 @@ Neue Versionsnummer 5) **Update Version & Commit** - * **Commit & Push** to master branch: - - New version 21.5.0a + * **Commit & Push** to master branch: + + New version 21.5.1 6) **New Tag**: - git tag v21.5.0a - git push -u origin v21.5.0a + git tag v21.5.1 git push -u origin v21.5.1 7) **Merge 'master' into 'develop'** diff --git a/Documentation/Release.rst b/Documentation/Release.rst index b3cf1f2f..f7b2b577 100644 --- a/Documentation/Release.rst +++ b/Documentation/Release.rst @@ -52,10 +52,10 @@ Features Bug Fixes ^^^^^^^^^ -Version 21.y.y +Version 21.5.1 -------------- -Date: +Date: 17.05.2021 Notes ^^^^^ @@ -67,9 +67,14 @@ Notes Features ^^^^^^^^ +* #12183 / Download table as csv +* #12159 / Make url paths absolute (relative to baseUrl) + Bug Fixes ^^^^^^^^^ +* #12516 / Password Hashing Exception + Version 21.5.0 -------------- diff --git a/Documentation/Settings.cfg b/Documentation/Settings.cfg index 73f821b2..eee166ac 100644 --- a/Documentation/Settings.cfg +++ b/Documentation/Settings.cfg @@ -22,7 +22,7 @@ project = QFQ - Quick Form Query version = 21.5 -release = 21.5.0a +release = 21.5.1 t3author = Carsten Rose copyright = since 2017 by the author diff --git a/Documentation/conf.py b/Documentation/conf.py index f20a1513..b27c093d 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -64,7 +64,7 @@ author = 'Carsten Rose, Benjamin Baer, Marc Egger' # The short X.Y version. version = '21.5' # The full version, including alpha/beta/rc tags. -release = '21.5.0a' +release = '21.5.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/extension/RELEASE.txt b/extension/RELEASE.txt index 838a6c94..f7b2b577 100644 --- a/extension/RELEASE.txt +++ b/extension/RELEASE.txt @@ -52,6 +52,29 @@ Features Bug Fixes ^^^^^^^^^ +Version 21.5.1 +-------------- + +Date: 17.05.2021 + +Notes +^^^^^ + +* The `log` directory was moved into the `qfqProject` directory in version 21.2.0 for new installations. But if the + directory `fileadmin/protected/log` already exists then QFQ keeps storing logs there. This was added to release notes + of 21.2.0 in hindsight. + +Features +^^^^^^^^ + +* #12183 / Download table as csv +* #12159 / Make url paths absolute (relative to baseUrl) + +Bug Fixes +^^^^^^^^^ + +* #12516 / Password Hashing Exception + Version 21.5.0 -------------- @@ -66,11 +89,12 @@ Bug Fixes ^^^^^^^^^ * #10505 / Drag'n'Drop broken on Multi DB Instance - all checks done -* #12475 / During QFQ update take care that all system tables exist. -* #12479 / Remove unwrap('p-tag') for TinyMCE - currently, this breaks regular consecutive

tags +* #10754 / Clean up stale requirements.txt +* #11769 / Missing description table in Form.rst * #12352 / Form As Json: copy via JSON in FormEditor broken. * #12398 / Fix check required for uploads -* #10754 / Clean up stale requirements.txt +* #12475 / During QFQ update take care that all system tables exist. +* #12479 / Remove unwrap('p-tag') for TinyMCE - currently, this breaks regular consecutive

tags Version 21.4.0 @@ -189,6 +213,9 @@ Date: 01.02.2021 Notes ^^^^^ +* The `log` directory was moved into the `qfqProject` directory in version 21.2.0 for new installations. But if the + directory `fileadmin/protected/log` already exists then QFQ keeps storing logs there. This was added to release notes + of 21.2.0 in hindsight. Features ^^^^^^^^ @@ -196,6 +223,7 @@ Features * #10286 / Download Links: Glyphicon selbst wählen/ausblenden * #11878 / Purge extension option config.documentation * #6793 / Source files for ZIP archives might now specified with a path/filename how they are called inside the ZIP. +* log directory was moved into qfqProject directory Bug Fixes ^^^^^^^^^ diff --git a/extension/ext_emconf.php b/extension/ext_emconf.php index ccc05f9d..9780bda8 100644 --- a/extension/ext_emconf.php +++ b/extension/ext_emconf.php @@ -12,7 +12,7 @@ $EM_CONF['qfq'] = array( 'dependencies' => 'fluid,extbase', 'clearcacheonload' => true, 'state' => 'stable', - 'version' => '21.5.0a', + 'version' => '21.5.1', 'constraints' => [ 'depends' => [ 'typo3' => '7.0.0-10.9.99', diff --git a/version b/version index 43ced277..9fee55d4 100644 --- a/version +++ b/version @@ -1 +1 @@ -21.5.0a +21.5.1 -- GitLab