Koha/koha-tmpl/intranet-tmpl/prog/js/biblio_framework.js
Owen Leonard 93866a2320
Bug 34913: DataTables upgrade: Update CSS and option names
This patch makes two categories of changes:

1. CSS changes to accommodate changes in DataTables default CSS and
   markup structure. I've tried to make sure all of our Koha-specific
   styles are still applying.

   This change necessitates a rebuild of staff interface CSS.

2. DataTables option names: In this version of DataTables you can't
   override a default which uses CamelCase (e.g. "pagingType") with one
   in "Hungarian" notation, e.g. "sPaginationType." Since we define many
   default options in prog/js/datatables.js in camel case, any template
   which previously used a Hungarian notation option to override the
   default has now been updated to use the CamelCase version.

   See https://datatables.net/upgrade/1.10-convert#Options for a summary
   of the different option name changes.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-01-26 15:13:40 +01:00

81 lines
3.7 KiB
JavaScript

/* global __ */
/* Import/Export from/to spreadsheet */
var importing = false;
$(document).ready(function() {
$("#table_biblio_frameworks").dataTable($.extend(true, {}, dataTablesDefaults, {
"columnDefs": [
{ "targets": [ -1 ], "orderable": false, "searchable": false },
{ "targets": [ 0, 1 ], "type": "natural" },
],
"ordering": true,
"pagingType": "full"
}));
$("body").css("cursor", "auto");
$('.import_export_options').hide();
$('a.import_export_fw').click(function() {
if (!importing) {
$('.import_export_options').hide();
$(this).next().show('slide');
}
return false;
});
$('.import_export_close').click(function() {
if (!importing) {
$('.import_export_options').fadeOut('fast');
$("body").css("cursor", "auto");
return false;
}
});
$('.input_import').val("");
var matches = new RegExp("\\?error_import_export=(.+)$").exec(window.location.search);
if (matches && matches.length > 1) {
alert( __("Error importing the framework") + " %s".format(decodeURIComponent(matches[1])));
}
$('input.input_import').change( function() {
var filename = $(this).val();
if ( ! /(?:\.csv|\.ods|\.xml)$/.test(filename)) {
$(this).css("background-color","yellow");
alert( __("Please select a CSV (.csv) or ODS (.ods) spreadsheet file.") );
$(this).val("");
$(this).css("background-color","white");
}
});
$('form.form_export').submit(function() {
$('.modal').modal("hide");
return true;
});
$('form.form_import').submit(function() {
var id = $(this).attr('id');
var obj = $('#' + id + ' input:file');
if (/(?:\.csv|\.ods|\.xml)$/.test(obj.val())) {
var frameworkcode = $('#' + id + ' input:hidden[name=frameworkcode]').val();
var MSG_OVERWRITE_WARNING = __("Are you sure you want to replace the fields and subfields for the %s framework structure? The existing structure will be overwritten! For safety reasons, it is recommended to use the export option to make a backup first.").format( frameworkcode );
if (confirm( MSG_OVERWRITE_WARNING )) {
$('#importing_' + frameworkcode).find("span").html( __("Importing to framework: %s. Importing from file: %s.").format("<strong>" + frameworkcode + "</strong>", "<i>" + obj.val().replace(new RegExp("^.+[/\\\\]"), "") + "</i>"));
if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
var timestamp = new Date().getTime();
$('#importing_' + frameworkcode).find("img").attr('src', template_path + '/img/spinner-small.gif' + '?' +timestamp);
}
$('#importing_' + frameworkcode).css('display', 'block');
if (navigator.userAgent.toLowerCase().indexOf('firefox') == -1) $("body").css("cursor", "progress");
importing = true;
$(".modal-footer,.closebtn").hide();
return true;
} else
return false;
}
obj.css("background-color","yellow");
alert( __("Please select a CSV (.csv) or ODS (.ods) spreadsheet file.") );
obj.val("");
obj.css("background-color","white");
return false;
});
$("#frameworkcode").on("blur",function(){
toUC(this);
});
});