Add a format option to the datatables export that remove .noExport
elements present in a data cell, just as .noExport columns are
not exported.
To test:
1. For late orders (which uses .noExport elements in data cells) :
Export data in any format using the export button at the top
of the datatable.
=> data should exclude "Add/Edit note" label, but
otherwise look the same as before the patch.
2. Try exporting data in other datatables in Koha and make sure
exported data is the same before and after applying the patch.
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Trailing comma's were causing hidden javascript errors during selenium
tests.
Error was identified by adding a $s->capture($driver) line to the
relevant selenium test and using the following JS snippet to dump errors
to the screen.
(function () {
var ul = null;
function createErrorList() {
ul = document.createElement('ul');
ul.setAttribute('id', 'js_error_list');
//ul.style.display = 'none';
document.body.appendChild(ul);
}
window.onerror = function(msg){
if (ul === null)
createErrorList();
var li = document.createElement("li");
li.appendChild(document.createTextNode(msg));
ul.appendChild(li);
};
})();
Which clearly showed the following error.
ReferenceError: KohaTable is not defined
Removing the trailing comma's introduced in this bug resolved the issue.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch makes a change to the JavaScript setup for DataTables button
controls so that if there are no toggle-able buttons (or there is no
columns configuration at all) the column selection menu button will not
appear.
To test, apply the patch and go to Administration -> Columns settings.
- In the Administration section, find the section for the "libraries"
table.
- In the "Cannot be toggled" column, check all the checkboxes.
- Save.
- Go to Administration -> Libraries.
- At the top of the table there should be no "Columns" button, only
"Clear filter" and "Export" buttons.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The changes to columns_settings.inc in bug 23307 inadvertantly change
the return from an updated jQuery datatable object to a plain jQuery
object and as such broke a number of tables in Koha. This patch simply
reverts the change whilst continuing to allow the new functionality to
work as expeced.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds columns configuration to the DataTable which displays
Z39.50 search results in the cataloging module.
The Z39.50 results screen has its own server-side paging system, so I
added some code to copy the page number information ("Page 2 / 6") to
the DataTable toolbar for a more consistent appearance. The wording of
that information has also been modified for consistency's sake.
To test, apply the patch and restart Plack (or restart_all on
kohadevbox)
- Go to Cataloging -> New from Z39.50/SRU.
- Perform a Z39.50 search which will return multiple pages of results.
- Confirm that the DataTable controls work correctly: Search, columns
show/hide, export.
- Confirm that the page number information is correct as you navigate
through pages of results.
- Go to Administration -> Columns settings.
- Confirm that the columns configuration settings for the z3950_search
table in the "Cataloging" section works correctly. Changes made here
should be reflected in the table of Z39.50 search results.
- Test other tables which use columns configuration to confirm that the
changes made in this patch doesn't disrupt their behavior. Test that
any custom columns configuration are applied. For example:
- Administration -> Libraries
- Reports -> Saved reports
- Circulation -> Holds queue
Signed-off-by: George Williams <george@nekls.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds a "clear filter" button to the global
DataTables configuration. The button will appear if:
- There is no custom DOM configuration applied to the DataTable
instance.
- The DataTable has the search form enabled.
The new button should be disabled by default. Entering a search term in
the form should enable it.
To test, apply the patch and clear your browser cache if necessary. View
various pages with various DataTables configurations and confirm that
everything looks correct and the new "Clear filter" button doesn't
appear when there is no DataTable search field. For example:
- Administration -> Libraries
- Administration -> Currencies
- Reports -> Saved reports
- Circulation -> Check out
- Tools -> News
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Bug 21216 added a way to designate DataTables columns to include in
export operations (Copy, CSV, print, etc). However, this solution did
not take hidden columns into account. This patch revises the global
columns configuration settings so that exports will include only visible
columns and will exclude columns with a "noExport" class on the <th>.
To test, apply the patch and clear your browser cache if necessary.
- Go to Tools -> Stock rotation
- In the table of rotas, hide some columns in the table and verify that
export operations include only your visible selections, excluding the
last column with buttons.
- Choose a rota and select Manage -> Items. Test that this table works
in the same way.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch revises our custom DataTables CSS to give a more colorful
style to the columns configuration and export menus. The primary goal of
this change is to make it easier to tell which columns are visible and
which are hidden.
To test, apply the patch and clear your browser cache if necessary.
View a table with columns configuration and export options, e.e. Tools
-> Notices & slip. Test the DataTables menus and confirm that they work
as expected.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
This is a nice update to the styles.
Signed-off-by: Jose-Mario Monteiro-Santos <jose-mario.monteiro-santos@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds responsive handling of text labels to the columns
configuration and export buttons.
To test, apply the patch and clear your browser cache if necessary.
- View a page with column configuration, e.g. Administration -> Patron
categories.
- At wider browser widths the buttons should have text labels.
- At narrower browser widths the labels should be hidden.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds title attributes and Bootstrap tooltips to the columns
configuration and export/print butttons.
To test, apply the patch and visit a page with columns configuration
buttons. Confirm that when you hover over each of the DataTable control
buttons a tooltip is shown.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch changes the default DataTables configuration provided by the
columns settings include file. It consolidates DataTables buttons into
to menus: One for column configuration and one for export options.
This change would not affect tables which aren't set up for column
configuration.
To test, apply the patch and view a page with columns configuration.
Example: Tools -> Notices & slips
- Confirm that the buttons appear as expected.
- Confirm that each button menu performs its task correctly (column
visiblity, export, print).
- Test other pages with columns configuration. For instance:
Acquisitions order search, Currencies administration, Holds queue
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jose-Mario Monteiro-Santos <jose-mario.monteiro-santos@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds a custom buttons configuration to the Notices table so
that columns with form controls are not included in copy/print/export
operations.
The DataTables columns settings include file has been modified
to check for an existing buttons export columns configuration before
applying the default.
To test, apply the patch and clear your browser cache if necessary.
Go to Tools -> Notices & slips. The table of notices should have a
DataTables toolbar with a filter form, column visibility, and export
buttons. Test the functionality of all these tools. Only the first four
columns of the table should be included in printouts and exported files.
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
We certainly will want to improve that and explicitely list the columns
to export. For instance the actions and checkboxes should not be
exported, even if visible.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
There are many tables in Koha where it would be useful
for librarians to easily copy, download or print the table
for various purposes. These functions are available via
DataTables button plugins.
Test Plan:
1) Clear your browser cache ( just in case )
2) Apply this patch
3) Browse to boraccount.pl ( or another page using DataTabes )
4) Note the new Excel, CSV, Copy and Print buttons
5) Test each button to ensure they work
Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Before this patch set, we used KohaTable to display a table with the
column visibility plugin, and an usual dataTable initialisation for the
filters.
For the lost items report table we will need both.
To do so we need to reorganize the code a bit
We cannot pass a selector but the id of the node which represents the
table. Indeed it is how works currently the filters (we may want to
improve that later)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
For the next patches we will need to reuse what is already done on the
bibliographic record detail page. This patch moves the code to make it
reusable easily and avoid copy and paste.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
datatables.inc loads dataTables.buttons.min.js and buttons.colVis.min.js
since bug 15285: Update common files because the dom param now contains
'B'. The DT init fails with it does not know what 'B' means.
Test plan:
Test tables using buttons (columns visibility), they should work as
before this patch.
Tested with patron search and administration/currencies, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
The "Column visibility" text button was not translatable, now it is.
Test plan:
1/ Update the template for a given language and translate the "Column
visibility" string
2/ Go on admin/currency.pl
=> The string should be translated.
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This patch moves the Button area all tables which does not redefine the
dom/sDom DT parameter.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Fall back more smoothly when items subfields are not mapped to a
kohafield. Note, however, that this development does not allow applying
default settings to subfields that aren't mapped. A note has been added
to the columns settings page, as there is no known workaround for this.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
This patch adds the table of items on additem.pl to the columns
customizer.
Test plan:
1. Open item editor on a record, and verify that all columns are visible.
2. Apply patch.
3. Reload editor, and verify that column visibility hasn't changed.
4. Open "Hide/show columns," and verify that you can add and remove
columns.
5. Change the visibility and togglability of some columns in
columns_settings.pl, and verify that these correctly apply to
additem.pl.
NOTE: The columns that are configurable are selected from the non-hidden
columns that have mappings to MARC subfields in the default MARC21
framework (and can thus be displayed in the item editor).
Signed-off-by: Jenny Schmidt <jschmidt@switchinc.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Implements the option to change the default columns that appear in
a table while giving the user the option to change the columns
individually for a session.
As an example, this feature is implemented for the currencies table.
Works well for all possible combinations in configuration.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This development introduces ColVis into Koha and provides a configuration
page for columns visibility.
ColVis is a plugin for DataTables. It allows to change the visibility of
the columns in the table.
* This development adds:
- the js and css file for ColVis
- a new DB table 'columns_settings'
- a new template plugin 'ColumnsSettings'
- a new package C4::Utils::DataTables::ColumnsSettings
- a new admin page admin/columns_settings.pl
* How it works:
A yaml file is created (admin/columns_settings.yml) in order to take an
inventory of all tables where ColVis is implemented. This file is read
to create the list of modules, pages and tables in the configuration
page.
There are 3 possible keys in the yml:
- is_hidden: default is 0
The column will be hidden.
- cannot_be_toggled: default is 0.
ColVis will allow to hide/show the column.
- cannot_be_modified: default is 0
Default values (in the yml) won't be modifiable.
When a user changes (or saves) the configuration for one module, all
columns are added to the DB table. The values in the DB get the upper hand
on the yaml values.
* Humm, strange?
It seems weird to have 2 storages for the same values. But I
think it will be easy to add an entry and maintain the yaml rather than
adding a new row (and new entry in updatedatabase script) in the DB.
* To go further: We can imagine that the configuration is saved for each
user (and not globally like it is made with this patch).
This patch cannot be tested as it, you need to apply the "POC" patch.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, more comments on last patch.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>