diff --git a/CHANGELOG.md b/CHANGELOG.md index 838a6c9403fc38c6b4ba07446789585826c7d413..0ffd8bdbac54be4c7c44281daa43a827be185155 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 fdebb37d0042fa8c2323524e994c26cfdd09794f..d81a07f40a1379b2df7dcb6503d8bbdc4183db9f 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/Form.rst b/Documentation/Form.rst index bafedaf38950db83d39d9c7f090f22a834ceff7b..f7a659f003883152b54a900eb48b9b08a603f52c 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 7d26c1fdd35224d7232db434d8ed37d6198c94f2..f3c65abb4d831e60928b78cd51683c7db5ada950 100644 --- a/Documentation/Installation.rst +++ b/Documentation/Installation.rst @@ -253,14 +253,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/Release.rst b/Documentation/Release.rst index b3cf1f2f49862c94aa3e3be9555ef2c669f0968e..f7b2b57712b5402efac8985de1f3475177add76d 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/Report.rst b/Documentation/Report.rst index 14efa26ef0f76ee2e91a15fac1f04725493cba58..515ea267d0b2efb0ccdf28d477e1a0d41072122b 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/Documentation/Settings.cfg b/Documentation/Settings.cfg index 73f821b2bf22e84c3138d6f2c89adb4686cbdb71..eee166ac690d9a63c6558c2cb899d8fc30c238f0 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 f20a15134244ea288145df4427b3405971c7df85..b27c093d8f1b50f07edfd444c0c504920ced1342 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/Gruntfile.js b/Gruntfile.js index 49e26fd5301f801f708d979f5fc28743ed4f20cc..6011661219c036b49ee8381879d0bba9be8eca69 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/extension/RELEASE.txt b/extension/RELEASE.txt index 838a6c9403fc38c6b4ba07446789585826c7d413..f7b2b57712b5402efac8985de1f3475177add76d 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 ccc05f9d6447d454ef42e4e38e86b413a746704b..9780bda8da068553e0799d877f35fd00299db4b3 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/javascript/src/TablesorterController.js b/javascript/src/TablesorterController.js index b8242c999f54efe1fd78fc9c4df47a27934f652e..d3643b083f8e3252dfb0803ba27cfef448932c42 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: ";" } }; } diff --git a/version b/version index 43ced277a3f8e22f5d20e0ff089917899c16d419..9fee55d4434bc31642ea58aca0806347183bc129 100644 --- a/version +++ b/version @@ -1 +1 @@ -21.5.0a +21.5.1